summaryrefslogtreecommitdiff
path: root/test/Analysis/reference.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2013-06-10 20:45:12 +0000
committerDimitry Andric <dim@FreeBSD.org>2013-06-10 20:45:12 +0000
commit6a0372513edbc473b538d2f724efac50405d6fef (patch)
tree8f7776b7310bebaf415ac5b69e46e9f928c37144 /test/Analysis/reference.cpp
parent809500fc2c13c8173a16b052304d983864e4a1e1 (diff)
Notes
Diffstat (limited to 'test/Analysis/reference.cpp')
-rw-r--r--test/Analysis/reference.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/Analysis/reference.cpp b/test/Analysis/reference.cpp
index 8dd0baf8c3c8..1dabe7bc1a3d 100644
--- a/test/Analysis/reference.cpp
+++ b/test/Analysis/reference.cpp
@@ -102,7 +102,7 @@ void testRetroactiveNullReference(int *x) {
// "null reference". So the 'if' statement ought to be dead code.
// However, Clang (and other compilers) don't actually check that a pointer
// value is non-null in the implementation of references, so it is possible
- // to produce a supposed "null reference" at runtime. The analyzer shoeuld
+ // to produce a supposed "null reference" at runtime. The analyzer should
// still warn when it can prove such errors.
int &y = *x;
if (x != 0)
@@ -224,3 +224,13 @@ namespace rdar11212286 {
return *x; // no-warning
}
}
+
+namespace PR15694 {
+ class C {
+ bool bit : 1;
+ template <class T> void bar(const T &obj) {}
+ void foo() {
+ bar(bit); // don't crash
+ }
+ };
+}