summaryrefslogtreecommitdiff
path: root/test/SemaCXX/conversion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/conversion.cpp')
-rw-r--r--test/SemaCXX/conversion.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/SemaCXX/conversion.cpp b/test/SemaCXX/conversion.cpp
index 852bbba7efa11..b8f0e076a2bcc 100644
--- a/test/SemaCXX/conversion.cpp
+++ b/test/SemaCXX/conversion.cpp
@@ -90,6 +90,18 @@ void test3() {
;
do ;
while(NULL_COND(true));
+
+#define NULL_WRAPPER NULL_COND(false)
+ if (NULL_WRAPPER)
+ ;
+ while (NULL_WRAPPER)
+ ;
+ for (; NULL_WRAPPER;)
+ ;
+ do
+ ;
+ while (NULL_WRAPPER);
+
int *ip = NULL;
int (*fp)() = NULL;
struct foo {
@@ -137,3 +149,11 @@ namespace test6 {
return NULL;
}
}
+
+namespace test7 {
+ bool fun() {
+ bool x = nullptr; // expected-warning {{implicit conversion of nullptr constant to 'bool'}}
+ if (nullptr) {} // expected-warning {{implicit conversion of nullptr constant to 'bool'}}
+ return nullptr; // expected-warning {{implicit conversion of nullptr constant to 'bool'}}
+ }
+}