| ; analyzer.opt -- Options for the analyzer. |
| |
| ; Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| ; |
| ; This file is part of GCC. |
| ; |
| ; GCC is free software; you can redistribute it and/or modify it under |
| ; the terms of the GNU General Public License as published by the Free |
| ; Software Foundation; either version 3, or (at your option) any later |
| ; version. |
| ; |
| ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
| ; WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| ; for more details. |
| ; |
| ; You should have received a copy of the GNU General Public License |
| ; along with GCC; see the file COPYING3. If not see |
| ; <http://www.gnu.org/licenses/>. |
| |
| ; See the GCC internals manual for a description of this file's format. |
| |
| ; Please try to keep this file in ASCII collating order. |
| |
| -param=analyzer-bb-explosion-factor= |
| Common Joined UInteger Var(param_analyzer_bb_explosion_factor) Init(5) Param |
| The maximum number of 'after supernode' exploded nodes within the analyzer per supernode, before terminating analysis. |
| |
| -param=analyzer-max-enodes-per-program-point= |
| Common Joined UInteger Var(param_analyzer_max_enodes_per_program_point) Init(8) Param |
| The maximum number of exploded nodes per program point within the analyzer, before terminating analysis of that point. |
| |
| -param=analyzer-max-constraints= |
| Common Joined UInteger Var(param_analyzer_max_constraints) Init(20) Param |
| The maximum number of constraints per state. |
| |
| -param=analyzer-max-infeasible-edges= |
| Common Joined UInteger Var(param_analyzer_max_infeasible_edges) Init(10) Param |
| The maximum number of infeasible edges to reject before declaring a diagnostic as infeasible. |
| |
| -param=analyzer-max-recursion-depth= |
| Common Joined UInteger Var(param_analyzer_max_recursion_depth) Init(2) Param |
| The maximum number of times a callsite can appear in a call stack within the analyzer, before terminating analysis of a call that would recurse deeper. |
| |
| -param=analyzer-max-svalue-depth= |
| Common Joined UInteger Var(param_analyzer_max_svalue_depth) Init(12) Param |
| The maximum depth of a symbolic value, before approximating the value as unknown. |
| |
| -param=analyzer-min-snodes-for-call-summary= |
| Common Joined UInteger Var(param_analyzer_min_snodes_for_call_summary) Init(10) Param |
| The minimum number of supernodes within a function for the analyzer to consider summarizing its effects at call sites. |
| |
| -param=analyzer-max-enodes-for-full-dump= |
| Common Joined UInteger Var(param_analyzer_max_enodes_for_full_dump) Init(200) Param |
| The maximum depth of exploded nodes that should appear in a dot dump before switching to a less verbose format. |
| |
| Wanalyzer-double-fclose |
| Common Var(warn_analyzer_double_fclose) Init(1) Warning |
| Warn about code paths in which a stdio FILE can be closed more than once. |
| |
| Wanalyzer-double-free |
| Common Var(warn_analyzer_double_free) Init(1) Warning |
| Warn about code paths in which a pointer can be freed more than once. |
| |
| Wanalyzer-exposure-through-output-file |
| Common Var(warn_analyzer_exposure_through_output_file) Init(1) Warning |
| Warn about code paths in which sensitive data is written to a file. |
| |
| Wanalyzer-file-leak |
| Common Var(warn_analyzer_file_leak) Init(1) Warning |
| Warn about code paths in which a stdio FILE is not closed. |
| |
| Wanalyzer-free-of-non-heap |
| Common Var(warn_analyzer_free_of_non_heap) Init(1) Warning |
| Warn about code paths in which a non-heap pointer is freed. |
| |
| Wanalyzer-malloc-leak |
| Common Var(warn_analyzer_malloc_leak) Init(1) Warning |
| Warn about code paths in which a heap-allocated pointer leaks. |
| |
| Wanalyzer-mismatching-deallocation |
| Common Var(warn_analyzer_mismatching_deallocation) Init(1) Warning |
| Warn about code paths in which the wrong deallocation function is called. |
| |
| Wanalyzer-possible-null-argument |
| Common Var(warn_analyzer_possible_null_argument) Init(1) Warning |
| Warn about code paths in which a possibly-NULL value is passed to a must-not-be-NULL function argument. |
| |
| Wanalyzer-possible-null-dereference |
| Common Var(warn_analyzer_possible_null_dereference) Init(1) Warning |
| Warn about code paths in which a possibly-NULL pointer is dereferenced. |
| |
| Wanalyzer-unsafe-call-within-signal-handler |
| Common Var(warn_analyzer_unsafe_call_within_signal_handler) Init(1) Warning |
| Warn about code paths in which an async-signal-unsafe function is called from a signal handler. |
| |
| Wanalyzer-null-argument |
| Common Var(warn_analyzer_null_argument) Init(1) Warning |
| Warn about code paths in which NULL is passed to a must-not-be-NULL function argument. |
| |
| Wanalyzer-null-dereference |
| Common Var(warn_analyzer_null_dereference) Init(1) Warning |
| Warn about code paths in which a NULL pointer is dereferenced. |
| |
| Wanalyzer-shift-count-negative |
| Common Var(warn_analyzer_shift_count_negative) Init(1) Warning |
| Warn about code paths in which a shift with negative count is attempted. |
| |
| Wanalyzer-shift-count-overflow |
| Common Var(warn_analyzer_shift_count_overflow) Init(1) Warning |
| Warn about code paths in which a shift with count >= width of type is attempted. |
| |
| Wanalyzer-stale-setjmp-buffer |
| Common Var(warn_analyzer_stale_setjmp_buffer) Init(1) Warning |
| Warn about code paths in which a longjmp rewinds to a jmp_buf saved in a stack frame that has returned. |
| |
| Wanalyzer-tainted-allocation-size |
| Common Var(warn_analyzer_tainted_allocation_size) Init(1) Warning |
| Warn about code paths in which an unsanitized value is used as an allocation size. |
| |
| Wanalyzer-tainted-array-index |
| Common Var(warn_analyzer_tainted_array_index) Init(1) Warning |
| Warn about code paths in which an unsanitized value is used as an array index. |
| |
| Wanalyzer-tainted-divisor |
| Common Var(warn_analyzer_tainted_divisor) Init(1) Warning |
| Warn about code paths in which an unsanitized value is used as a divisor. |
| |
| Wanalyzer-tainted-offset |
| Common Var(warn_analyzer_tainted_offset) Init(1) Warning |
| Warn about code paths in which an unsanitized value is used as a pointer offset. |
| |
| Wanalyzer-tainted-size |
| Common Var(warn_analyzer_tainted_size) Init(1) Warning |
| Warn about code paths in which an unsanitized value is used as a size. |
| |
| Wanalyzer-use-after-free |
| Common Var(warn_analyzer_use_after_free) Init(1) Warning |
| Warn about code paths in which a freed value is used. |
| |
| Wanalyzer-use-of-pointer-in-stale-stack-frame |
| Common Var(warn_analyzer_use_of_pointer_in_stale_stack_frame) Init(1) Warning |
| Warn about code paths in which a pointer to a stale stack frame is used. |
| |
| Wanalyzer-write-to-const |
| Common Var(warn_analyzer_write_to_const) Init(1) Warning |
| Warn about code paths which attempt to write to a const object. |
| |
| Wanalyzer-write-to-string-literal |
| Common Var(warn_analyzer_write_to_string_literal) Init(1) Warning |
| Warn about code paths which attempt to write to a string literal. |
| |
| Wanalyzer-use-of-uninitialized-value |
| Common Var(warn_analyzer_use_of_uninitialized_value) Init(1) Warning |
| Warn about code paths in which an uninitialized value is used. |
| |
| Wanalyzer-too-complex |
| Common Var(warn_analyzer_too_complex) Init(0) Warning |
| Warn if the code is too complicated for the analyzer to fully explore. |
| |
| fanalyzer-checker= |
| Common Joined RejectNegative Var(flag_analyzer_checker) |
| Restrict the analyzer to run just the named checker. |
| |
| fanalyzer-fine-grained |
| Common Var(flag_analyzer_fine_grained) Init(0) |
| Avoid combining multiple statements into one exploded edge. |
| |
| fanalyzer-feasibility |
| Common Var(flag_analyzer_feasibility) Init(1) |
| Verify that paths are feasible when emitting diagnostics. |
| |
| fanalyzer-show-duplicate-count |
| Common Var(flag_analyzer_show_duplicate_count) Init(0) |
| Issue a note when diagnostics are deduplicated. |
| |
| fanalyzer-state-purge |
| Common Var(flag_analyzer_state_purge) Init(1) |
| Purge unneeded state during analysis. |
| |
| fanalyzer-state-merge |
| Common Var(flag_analyzer_state_merge) Init(1) |
| Merge similar-enough states during analysis. |
| |
| fanalyzer-transitivity |
| Common Var(flag_analyzer_transitivity) Init(0) |
| Enable transitivity of constraints during analysis. |
| |
| fanalyzer-call-summaries |
| Common Var(flag_analyzer_call_summaries) Init(0) |
| Approximate the effect of function calls to simplify analysis. |
| |
| fanalyzer-verbose-edges |
| Common Var(flag_analyzer_verbose_edges) Init(0) |
| Emit more verbose descriptions of control flow in diagnostics. |
| |
| fanalyzer-verbose-state-changes |
| Common Var(flag_analyzer_verbose_state_changes) Init(0) |
| Emit more verbose descriptions of state changes in diagnostics. |
| |
| fanalyzer-verbosity= |
| Common Joined UInteger Var(analyzer_verbosity) Init(2) |
| Control which events are displayed in diagnostic paths. |
| |
| fdump-analyzer |
| Common RejectNegative Var(flag_dump_analyzer) |
| Dump various analyzer internals to SRCFILE.analyzer.txt. |
| |
| fdump-analyzer-stderr |
| Common RejectNegative Var(flag_dump_analyzer_stderr) |
| Dump various analyzer internals to stderr. |
| |
| fdump-analyzer-callgraph |
| Common RejectNegative Var(flag_dump_analyzer_callgraph) |
| Dump analyzer-specific call graph information to a SRCFILE.callgraph.dot file. |
| |
| fdump-analyzer-exploded-graph |
| Common RejectNegative Var(flag_dump_analyzer_exploded_graph) |
| Dump the analyzer exploded graph to a SRCFILE.eg.dot file. |
| |
| fdump-analyzer-exploded-nodes |
| Common RejectNegative Var(flag_dump_analyzer_exploded_nodes) |
| Emit diagnostics showing the location of nodes in the exploded graph. |
| |
| fdump-analyzer-exploded-nodes-2 |
| Common RejectNegative Var(flag_dump_analyzer_exploded_nodes_2) |
| Dump a textual representation of the exploded graph to SRCFILE.eg.txt. |
| |
| fdump-analyzer-exploded-nodes-3 |
| Common RejectNegative Var(flag_dump_analyzer_exploded_nodes_3) |
| Dump a textual representation of the exploded graph to SRCFILE.eg-ID.txt. |
| |
| fdump-analyzer-exploded-paths |
| Common RejectNegative Var(flag_dump_analyzer_exploded_paths) |
| Dump a textual representation of each diagnostic's exploded path to SRCFILE.IDX.KIND.epath.txt. |
| |
| fdump-analyzer-feasibility |
| Common RejectNegative Var(flag_dump_analyzer_feasibility) |
| Dump various analyzer internals to SRCFILE.*.fg.dot and SRCFILE.*.tg.dot. |
| |
| fdump-analyzer-json |
| Common RejectNegative Var(flag_dump_analyzer_json) |
| Dump analyzer-specific data to a SRCFILE.analyzer.json.gz file. |
| |
| fdump-analyzer-state-purge |
| Common RejectNegative Var(flag_dump_analyzer_state_purge) |
| Dump state-purging information to a SRCFILE.state-purge.dot file. |
| |
| fdump-analyzer-supergraph |
| Common RejectNegative Var(flag_dump_analyzer_supergraph) |
| Dump the analyzer supergraph to a SRCFILE.supergraph.dot file. |
| |
| fdump-analyzer-untracked |
| Common RejectNegative Var(flag_dump_analyzer_untracked) |
| Emit custom warnings with internal details intended for analyzer developers. |
| |
| ; This comment is to ensure we retain the blank line above. |