diff options
Diffstat (limited to 'contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def')
-rw-r--r-- | contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def | 74 |
1 files changed, 71 insertions, 3 deletions
diff --git a/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def b/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def index f0359d2dbb3c..2fc825c2af9c 100644 --- a/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def +++ b/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def @@ -128,7 +128,8 @@ ANALYZER_OPTION(bool, MayInlineCXXStandardLibrary, "c++-stdlib-inlining", true) ANALYZER_OPTION(bool, MayInlineCXXAllocator, "c++-allocator-inlining", - "Whether or not allocator call may be considered for inlining.", + "Whether or not allocator and deallocator calls may be " + "considered for inlining.", true) ANALYZER_OPTION( @@ -190,7 +191,13 @@ ANALYZER_OPTION(bool, ShouldReportIssuesInMainSourceFile, false) ANALYZER_OPTION(bool, ShouldWriteStableReportFilename, "stable-report-filename", - "Whether or not the report filename should be random or not.", + "Deprecated: report filenames are now always stable. " + "See also 'verbose-report-filename'.", + false) + +ANALYZER_OPTION(bool, ShouldWriteVerboseReportFilename, "verbose-report-filename", + "Whether or not the report filename should contain extra " + "information about the issue.", false) ANALYZER_OPTION( @@ -314,6 +321,31 @@ ANALYZER_OPTION(bool, ShouldDisplayCheckerNameForText, "display-checker-name", "Display the checker name for textual outputs", true) +ANALYZER_OPTION(bool, ShouldSupportSymbolicIntegerCasts, + "support-symbolic-integer-casts", + "Produce cast symbols for integral types.", + false) + +ANALYZER_OPTION( + bool, ShouldAssumeControlledEnvironment, "assume-controlled-environment", + "Whether the analyzed application runs in a controlled environment. " + "We will assume that environment variables exist in queries and they hold " + "no malicious data. For instance, if this option is enabled, 'getenv()' " + "might be modeled by the analyzer to never return NULL.", + false) + +ANALYZER_OPTION( + bool, ShouldIgnoreBisonGeneratedFiles, "ignore-bison-generated-files", + "If enabled, any files containing the \"/* A Bison parser, made by\" " + "won't be analyzed.", + true) + +ANALYZER_OPTION( + bool, ShouldIgnoreFlexGeneratedFiles, "ignore-flex-generated-files", + "If enabled, any files containing the \"/* A lexical scanner generated by " + "flex\" won't be analyzed.", + true) + //===----------------------------------------------------------------------===// // Unsigned analyzer options. //===----------------------------------------------------------------------===// @@ -370,13 +402,49 @@ ANALYZER_OPTION_DEPENDS_ON_USER_MODE( /* SHALLOW_VAL */ 75000, /* DEEP_VAL */ 225000) ANALYZER_OPTION( + unsigned, CTUMaxNodesPercentage, "ctu-max-nodes-pct", + "The percentage of single-TU analysed nodes that the CTU analysis is " + "allowed to visit.", 50) + +ANALYZER_OPTION( + unsigned, CTUMaxNodesMin, "ctu-max-nodes-min", + "The maximum number of nodes in CTU mode is determinded by " + "'ctu-max-nodes-pct'. However, if the number of nodes in single-TU " + "analysis is too low, it is meaningful to provide a minimum value that " + "serves as an upper bound instead.", 10000) + +ANALYZER_OPTION( + StringRef, CTUPhase1InliningMode, "ctu-phase1-inlining", + "Controls which functions will be inlined during the first phase of the ctu " + "analysis. " + "If the value is set to 'all' then all foreign functions are inlinied " + "immediately during the first phase, thus rendering the second phase a noop. " + "The 'ctu-max-nodes-*' budge has no effect in this case. " + "If the value is 'small' then only functions with a linear CFG and with a " + "limited number of statements would be inlined during the first phase. The " + "long and/or nontrivial functions are handled in the second phase and are " + "controlled by the 'ctu-max-nodes-*' budge. " + "The value 'none' means that all foreign functions are inlined only in the " + "second phase, 'ctu-max-nodes-*' budge limits the second phase. " + "Value: \"none\", \"small\", \"all\".", + "small") + +ANALYZER_OPTION( unsigned, RegionStoreSmallStructLimit, "region-store-small-struct-limit", "The largest number of fields a struct can have and still be considered " - "small This is currently used to decide whether or not it is worth forcing " + "small. This is currently used to decide whether or not it is worth forcing " "a LazyCompoundVal on bind. To disable all small-struct-dependent " "behavior, set the option to 0.", 2) +ANALYZER_OPTION( + unsigned, RegionStoreSmallArrayLimit, "region-store-small-array-limit", + "The largest number of elements an array can have and still be considered " + "small. This is currently used to decide whether or not it is worth forcing " + "a LazyCompoundVal on bind. To disable all small-array-dependent " + "behavior, set the option to 0.", + 5) + //===----------------------------------------------------------------------===// // String analyzer options. //===----------------------------------------------------------------------===// |