Turn on 'RegionStore' as the default store manager both for 'clang --analyze' and 'scan-build'. Leave 'BasicStore' as the default store manager in 'clang-cc'. While there are still known warts with RegionStore, it's ready to be tested by general users.

llvm-svn: 82752
This commit is contained in:
Ted Kremenek 2009-09-25 05:55:59 +00:00
parent 9e84d88d27
commit 05e6f5b6e9
3 changed files with 10 additions and 5 deletions

View File

@ -532,6 +532,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-static-define"); CmdArgs.push_back("-static-define");
if (isa<AnalyzeJobAction>(JA)) { if (isa<AnalyzeJobAction>(JA)) {
// Enable region store model by default.
CmdArgs.push_back("-analyzer-store=region");
// Add default argument set. // Add default argument set.
if (!Args.hasArg(options::OPT__analyzer_no_default_checks)) { if (!Args.hasArg(options::OPT__analyzer_no_default_checks)) {
CmdArgs.push_back("-warn-dead-stores"); CmdArgs.push_back("-warn-dead-stores");

View File

@ -378,7 +378,7 @@ if (!defined($Analyses)) { $Analyses = '-checker-cfref'; }
# Get the store model. # Get the store model.
my $StoreModel = $ENV{'CCC_ANALYZER_STORE_MODEL'}; my $StoreModel = $ENV{'CCC_ANALYZER_STORE_MODEL'};
if (!defined $StoreModel) { $StoreModel = "basic"; } if (!defined $StoreModel) { $StoreModel = "region"; }
# Get the constraints engine. # Get the constraints engine.
my $ConstraintsModel = $ENV{'CCC_ANALYZER_CONSTRAINTS_MODEL'}; my $ConstraintsModel = $ENV{'CCC_ANALYZER_CONSTRAINTS_MODEL'};

View File

@ -949,9 +949,11 @@ ADVANCED OPTIONS:
used by checker-0.160 and earlier. used by checker-0.160 and earlier.
-store [model] - Specify the store model used by the analyzer. By default, -store [model] - Specify the store model used by the analyzer. By default,
the 'basic' store model is used. 'region' specifies a field- the 'region' store model is used. 'region' specifies a field-
sensitive store model. Be warned that the 'region' model sensitive store model. Users can also specify 'basic', which
is still in very early testing phase and may often crash. is far less precise but can more quickly analyze code.
'basic' was the default store model for checker-0.221 and
earlier.
-no-failure-reports - Do not create a 'failures' subdirectory that includes -no-failure-reports - Do not create a 'failures' subdirectory that includes
analyzer crash reports and preprocessed source files. analyzer crash reports and preprocessed source files.