forked from OSchip/llvm-project
Fix <rdar://problem/6848739>. When using -analyze, -Werror has no effect.
llvm-svn: 71172
This commit is contained in:
parent
f70bcf7d1a
commit
094bc31000
|
@ -0,0 +1,15 @@
|
|||
// RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=basic -verify &&
|
||||
// RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=region -verify
|
||||
|
||||
// This test case illustrates that using '-analyze' overrides the effect of
|
||||
// -Werror. This allows basic warnings not to interfere with producing
|
||||
// analyzer results.
|
||||
|
||||
char* f(int *p) {
|
||||
return p; // expected-warning{{incompatible pointer types returning 'int *', expected 'char *'}}
|
||||
}
|
||||
|
||||
void g(int *p) {
|
||||
if (!p) *p = 0; // expected-warning{{null}}
|
||||
}
|
||||
|
|
@ -654,6 +654,9 @@ ASTConsumer* clang::CreateAnalysisConsumer(Diagnostic &diags, Preprocessor* pp,
|
|||
#include "Analyses.def"
|
||||
default: break;
|
||||
}
|
||||
|
||||
// Last, disable the effects of '-Werror' when using the AnalysisConsumer.
|
||||
diags.setWarningsAsErrors(false);
|
||||
|
||||
return C.take();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue