forked from OSchip/llvm-project
[analyzer] Warn about -analyzer-configs being meant for development purposes only
This is more of a temporary fix, long term, we should convert AnalyzerOptions.def into the universally beloved (*coughs*) TableGen format, where they can more easily be separated into developer-only, alpha, and user-facing configs. Differential Revision: https://reviews.llvm.org/D66261 llvm-svn: 368980
This commit is contained in:
parent
e6e133b700
commit
a1aef90bdd
|
@ -140,7 +140,8 @@ def analyzer_checker_help_developer : Flag<["-"], "analyzer-checker-help-develop
|
|||
"and debug checkers">;
|
||||
|
||||
def analyzer_config_help : Flag<["-"], "analyzer-config-help">,
|
||||
HelpText<"Display the list of -analyzer-config options">;
|
||||
HelpText<"Display the list of -analyzer-config options. These are meant for "
|
||||
"development purposes only!">;
|
||||
|
||||
def analyzer_list_enabled_checkers : Flag<["-"], "analyzer-list-enabled-checkers">,
|
||||
HelpText<"Display the list of enabled analyzer checkers">;
|
||||
|
|
|
@ -74,11 +74,22 @@ void ento::printCheckerConfigList(raw_ostream &OS,
|
|||
}
|
||||
|
||||
void ento::printAnalyzerConfigList(raw_ostream &out) {
|
||||
out << "OVERVIEW: Clang Static Analyzer -analyzer-config Option List\n\n";
|
||||
out << "USAGE: -analyzer-config <OPTION1=VALUE,OPTION2=VALUE,...>\n\n";
|
||||
out << " -analyzer-config OPTION1=VALUE, -analyzer-config "
|
||||
"OPTION2=VALUE, ...\n\n";
|
||||
out << "OPTIONS:\n\n";
|
||||
// FIXME: This message sounds scary, should be scary, but incorrectly states
|
||||
// that all configs are super dangerous. In reality, many of them should be
|
||||
// accessible to the user. We should create a user-facing subset of config
|
||||
// options under a different frontend flag.
|
||||
out << R"(
|
||||
OVERVIEW: Clang Static Analyzer -analyzer-config Option List
|
||||
|
||||
The following list of configurations are meant for development purposes only, as
|
||||
some of the variables they define are set to result in the most optimal
|
||||
analysis. Setting them to other values may drastically change how the analyzer
|
||||
behaves, and may even result in instabilities, crashes!
|
||||
|
||||
USAGE: -analyzer-config <OPTION1=VALUE,OPTION2=VALUE,...>
|
||||
-analyzer-config OPTION1=VALUE, -analyzer-config OPTION2=VALUE, ...
|
||||
OPTIONS:
|
||||
)";
|
||||
|
||||
using OptionAndDescriptionTy = std::pair<StringRef, std::string>;
|
||||
OptionAndDescriptionTy PrintableOptions[] = {
|
||||
|
|
Loading…
Reference in New Issue