return false;
}
-bool isIncluded(const Record *OptionOrGroup, const Record *DocInfo) {
- assert(DocInfo->getValue("IncludedFlags") && "Missing includeFlags");
- for (StringRef Inclusion : DocInfo->getValueAsListOfStrings("IncludedFlags"))
- if (hasFlag(OptionOrGroup, Inclusion))
- return true;
- return false;
-}
-
-bool isGroupIncluded(const DocumentedGroup &Group, const Record *DocInfo) {
- if (isIncluded(Group.Group, DocInfo))
- return true;
- for (auto &O : Group.Options)
- if (isIncluded(O.Option, DocInfo))
- return true;
- for (auto &G : Group.Groups) {
- if (isIncluded(G.Group, DocInfo))
- return true;
- if (isGroupIncluded(G, DocInfo))
- return true;
- }
- return false;
-}
-
bool isExcluded(const Record *OptionOrGroup, const Record *DocInfo) {
// FIXME: Provide a flag to specify the set of exclusions.
for (StringRef Exclusion : DocInfo->getValueAsListOfStrings("ExcludedFlags"))
raw_ostream &OS) {
if (isExcluded(Option.Option, DocInfo))
return;
- if (DocInfo->getValue("IncludedFlags") && !isIncluded(Option.Option, DocInfo))
- return;
if (Option.Option->getValueAsDef("Kind")->getName() == "KIND_UNKNOWN" ||
Option.Option->getValueAsDef("Kind")->getName() == "KIND_INPUT")
return;
if (isExcluded(Group.Group, DocInfo))
return;
- if (DocInfo->getValue("IncludedFlags") && !isGroupIncluded(Group, DocInfo))
- return;
-
emitHeading(Depth,
getRSTStringWithTextFallback(Group.Group, "DocName", "Name"), OS);
endif()
endif()
-function (gen_rst_file_from_td output_file td_option source docs_target)
- if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${source}")
- message(FATAL_ERROR "Cannot find source file: ${source} in ${CMAKE_CURRENT_SOURCE_DIR}")
- endif()
- get_filename_component(TABLEGEN_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${source}" DIRECTORY)
- list(APPEND LLVM_TABLEGEN_FLAGS "-I${TABLEGEN_INCLUDE_DIR}")
- clang_tablegen(Source/${output_file} ${td_option} SOURCE ${source} TARGET "gen-${output_file}")
- add_dependencies(${docs_target} "gen-${output_file}")
-endfunction()
-
if (LLVM_ENABLE_SPHINX)
include(AddSphinxTarget)
if (SPHINX_FOUND)
COMMAND "${Python3_EXECUTABLE}"
ARGS ${CMAKE_CURRENT_BINARY_DIR}/Source/FIR/CreateFIRLangRef.py)
- gen_rst_file_from_td(FlangCommandLineReference.rst -gen-opt-docs ../include/flang/FlangOptionsDocs.td docs-flang-html)
endif()
if (${SPHINX_OUTPUT_MAN})
add_sphinx_target(man flang)
DoConcurrent
Extensions
FIRLangRef
- FlangCommandLineReference
FlangDriver
FortranIR
FortranLLVMTestSuite
+++ /dev/null
-//==--- FlangOptionDocs.td - Option documentation -------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-def GlobalDocumentation {
- code Intro =[{..
- -------------------------------------------------------------------
- NOTE: This file is automatically generated by running clang-tblgen
- -gen-opt-docs. Do not edit this file by hand!!
- -------------------------------------------------------------------
-
-=====================================
-Flang command line argument reference
-=====================================
-.. contents::
- :local:
-
-Introduction
-============
-
-}];
-
- string Program = "flang";
-
- list<string> ExcludedFlags = [];
- list<string> IncludedFlags = ["FlangOption"];
-
-}
-
-
-include "../../../clang/include/clang/Driver/Options.td"