diff options
Diffstat (limited to 'test/SemaCXX/conversion.cpp')
-rw-r--r-- | test/SemaCXX/conversion.cpp | 20 |
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'}} + } +} |