aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/warn_false_to_pointer.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-03-01 03:29:37 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-03-01 03:29:37 +0000
commite34e3f16580c586b032035e2612d12ae4569f21e (patch)
tree66e52bc4b1a48492ff6cc8f703ef2926fba924af /test/SemaCXX/warn_false_to_pointer.cpp
parent3c0349e87cdbd7316d06d2411d86ee1086e717a5 (diff)
Move the bool-conversions behind the DiagRuntimeBehavior logic. It's
possible for these to show up due to metaprogramming both in unevaluated contexts and compile-time dead branches. Those aren't the bugs we're looking for. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126739 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/warn_false_to_pointer.cpp')
-rw-r--r--test/SemaCXX/warn_false_to_pointer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/SemaCXX/warn_false_to_pointer.cpp b/test/SemaCXX/warn_false_to_pointer.cpp
index fb6f9551a7..26b54f6e68 100644
--- a/test/SemaCXX/warn_false_to_pointer.cpp
+++ b/test/SemaCXX/warn_false_to_pointer.cpp
@@ -8,3 +8,10 @@ void foo(int* i, int *j=(false)) // expected-warning{{ initialization of pointer
foo((int*)false);
}
+char f(struct Undefined*);
+double f(...);
+
+// Ensure that when using false in metaprogramming machinery its conversion
+// isn't flagged.
+template <int N> struct S {};
+S<sizeof(f(false))> s;