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");
if (isa<AnalyzeJobAction>(JA)) {
// Enable region store model by default.
CmdArgs.push_back("-analyzer-store=region");
// Add default argument set.
if (!Args.hasArg(options::OPT__analyzer_no_default_checks)) {
CmdArgs.push_back("-warn-dead-stores");

View File

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

View File

@ -949,9 +949,11 @@ ADVANCED OPTIONS:
used by checker-0.160 and earlier.
-store [model] - Specify the store model used by the analyzer. By default,
the 'basic' store model is used. 'region' specifies a field-
sensitive store model. Be warned that the 'region' model
is still in very early testing phase and may often crash.
the 'region' store model is used. 'region' specifies a field-
sensitive store model. Users can also specify 'basic', which
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
analyzer crash reports and preprocessed source files.