summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Analysis/global_region_invalidation.mm9
-rw-r--r--clang/test/Analysis/inline.cpp9
2 files changed, 17 insertions, 1 deletions
diff --git a/clang/test/Analysis/global_region_invalidation.mm b/clang/test/Analysis/global_region_invalidation.mm
index 0d7f172b3f3..be337edab11 100644
--- a/clang/test/Analysis/global_region_invalidation.mm
+++ b/clang/test/Analysis/global_region_invalidation.mm
@@ -9,4 +9,11 @@ id foo(int x) {
static id p = foo(1);
clang_analyzer_eval(p == 0); // expected-warning{{TRUE}}
return p;
-} \ No newline at end of file
+}
+
+const int &globalInt = 42;
+
+void testGlobal() {
+ // FIXME: Should be TRUE, but should at least not crash.
+ clang_analyzer_eval(globalInt == 42); // expected-warning{{UNKNOWN}}
+}
diff --git a/clang/test/Analysis/inline.cpp b/clang/test/Analysis/inline.cpp
index f0e69ddfc22..27853dc2aaf 100644
--- a/clang/test/Analysis/inline.cpp
+++ b/clang/test/Analysis/inline.cpp
@@ -260,6 +260,15 @@ namespace DefaultArgs {
clang_analyzer_eval(complicatedExprUser(1) == 1); // expected-warning{{TRUE}}
clang_analyzer_eval(complicatedExprUser() == 84); // expected-warning{{TRUE}}
}
+
+ int defaultReference(const int &input = 42) {
+ return input;
+ }
+
+ void testReference() {
+ clang_analyzer_eval(defaultReference(1) == 1); // expected-warning{{TRUE}}
+ clang_analyzer_eval(defaultReference() == 42); // expected-warning{{TRUE}}
+ }
}
namespace OperatorNew {
OpenPOWER on IntegriCloud