summaryrefslogtreecommitdiffstats
path: root/test/Analysis/override-werror.c
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-05-07 19:02:53 +0000
committerTed Kremenek <kremenek@apple.com>2009-05-07 19:02:53 +0000
commit2c4036eda90fad6d219d9f3fadbd9288fa197e89 (patch)
treecf755d45d33290fa10b0bfa02a872e76a23158df /test/Analysis/override-werror.c
parentaf199f32b008191341f248d7d50616a6a71ba354 (diff)
Fix <rdar://problem/6848739>. When using -analyze, -Werror has no effect.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71172 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/override-werror.c')
-rw-r--r--test/Analysis/override-werror.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Analysis/override-werror.c b/test/Analysis/override-werror.c
new file mode 100644
index 0000000000..f928ee031f
--- /dev/null
+++ b/test/Analysis/override-werror.c
@@ -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}}
+}
+