forked from OSchip/llvm-project
Add --analyze-auto.
- Currently just an alias for --analyze, eventually we want to refit --analyze so that it is less automatic (i.e., does not force plist output and does not hard code the list of checks). llvm-svn: 71056
This commit is contained in:
parent
4707bf4057
commit
5e051f9a86
|
@ -74,6 +74,9 @@ namespace driver {
|
||||||
bool hasArg(options::ID Id, bool Claim=true) const {
|
bool hasArg(options::ID Id, bool Claim=true) const {
|
||||||
return getLastArg(Id, Claim) != 0;
|
return getLastArg(Id, Claim) != 0;
|
||||||
}
|
}
|
||||||
|
bool hasArg(options::ID Id0, options::ID Id1, bool Claim=true) const {
|
||||||
|
return getLastArg(Id0, Id1, Claim) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
/// getLastArg - Return the last argument matching \arg Id, or null.
|
/// getLastArg - Return the last argument matching \arg Id, or null.
|
||||||
///
|
///
|
||||||
|
|
|
@ -127,6 +127,7 @@ OPTION("-###", _HASH_HASH_HASH, Flag, INVALID, INVALID, "d", 0,
|
||||||
OPTION("--CLASSPATH=", _CLASSPATH_EQ, Joined, INVALID, fclasspath_EQ, "", 0, 0, 0)
|
OPTION("--CLASSPATH=", _CLASSPATH_EQ, Joined, INVALID, fclasspath_EQ, "", 0, 0, 0)
|
||||||
OPTION("--CLASSPATH", _CLASSPATH, Separate, INVALID, fclasspath_EQ, "J", 0, 0, 0)
|
OPTION("--CLASSPATH", _CLASSPATH, Separate, INVALID, fclasspath_EQ, "J", 0, 0, 0)
|
||||||
OPTION("--all-warnings", _all_warnings, Flag, INVALID, Wall, "", 0, 0, 0)
|
OPTION("--all-warnings", _all_warnings, Flag, INVALID, Wall, "", 0, 0, 0)
|
||||||
|
OPTION("--analyze-auto", _analyze_auto, Flag, INVALID, INVALID, "d", 0, 0, 0)
|
||||||
OPTION("--analyze", _analyze, Flag, INVALID, INVALID, "d", 0,
|
OPTION("--analyze", _analyze, Flag, INVALID, INVALID, "d", 0,
|
||||||
"Run the static analyzer", 0)
|
"Run the static analyzer", 0)
|
||||||
OPTION("--ansi", _ansi, Flag, INVALID, ansi, "", 0, 0, 0)
|
OPTION("--ansi", _ansi, Flag, INVALID, ansi, "", 0, 0, 0)
|
||||||
|
|
|
@ -661,7 +661,8 @@ void Driver::BuildActions(const ArgList &Args, ActionList &Actions) const {
|
||||||
|
|
||||||
// -{fsyntax-only,-analyze,emit-llvm,S} only run up to the compiler.
|
// -{fsyntax-only,-analyze,emit-llvm,S} only run up to the compiler.
|
||||||
} else if ((FinalPhaseArg = Args.getLastArg(options::OPT_fsyntax_only)) ||
|
} else if ((FinalPhaseArg = Args.getLastArg(options::OPT_fsyntax_only)) ||
|
||||||
(FinalPhaseArg = Args.getLastArg(options::OPT__analyze)) ||
|
(FinalPhaseArg = Args.getLastArg(options::OPT__analyze,
|
||||||
|
options::OPT__analyze_auto)) ||
|
||||||
(FinalPhaseArg = Args.getLastArg(options::OPT_S))) {
|
(FinalPhaseArg = Args.getLastArg(options::OPT_S))) {
|
||||||
FinalPhase = phases::Compile;
|
FinalPhase = phases::Compile;
|
||||||
|
|
||||||
|
@ -762,7 +763,7 @@ Action *Driver::ConstructPhaseAction(const ArgList &Args, phases::ID Phase,
|
||||||
case phases::Compile: {
|
case phases::Compile: {
|
||||||
if (Args.hasArg(options::OPT_fsyntax_only)) {
|
if (Args.hasArg(options::OPT_fsyntax_only)) {
|
||||||
return new CompileJobAction(Input, types::TY_Nothing);
|
return new CompileJobAction(Input, types::TY_Nothing);
|
||||||
} else if (Args.hasArg(options::OPT__analyze)) {
|
} else if (Args.hasArg(options::OPT__analyze, options::OPT__analyze_auto)) {
|
||||||
return new AnalyzeJobAction(Input, types::TY_Plist);
|
return new AnalyzeJobAction(Input, types::TY_Plist);
|
||||||
} else if (Args.hasArg(options::OPT_emit_llvm) ||
|
} else if (Args.hasArg(options::OPT_emit_llvm) ||
|
||||||
Args.hasArg(options::OPT_flto) ||
|
Args.hasArg(options::OPT_flto) ||
|
||||||
|
|
Loading…
Reference in New Issue