diff options
author | Richard Trieu <rtrieu@google.com> | 2014-02-26 02:36:06 +0000 |
---|---|---|
committer | Richard Trieu <rtrieu@google.com> | 2014-02-26 02:36:06 +0000 |
commit | 3bb8b56a5d90c535e7dc466f924d00ce798c28e0 (patch) | |
tree | 643e7740ab5e1fb92239f642327a28a9052c8490 /clang/test/SemaCXX/nullptr_in_arithmetic_ops.cpp | |
parent | f9be75f538f4712acf98cde444e1176ce775b806 (diff) | |
download | bcm5719-llvm-3bb8b56a5d90c535e7dc466f924d00ce798c28e0.tar.gz bcm5719-llvm-3bb8b56a5d90c535e7dc466f924d00ce798c28e0.zip |
PR16074, implement warnings to catch pointer to boolean true and pointer to
null comparison when the pointer is known to be non-null.
This catches the array to pointer decay, function to pointer decay and
address of variables. This does not catch address of function since this
has been previously used to silence a warning.
Pointer to bool conversion is under -Wbool-conversion.
Pointer to null comparison is under -Wtautological-pointer-compare, a sub-group
of -Wtautological-compare.
void foo() {
int arr[5];
int x;
// warn on these conditionals
if (foo);
if (arr);
if (&x);
if (foo == null);
if (arr == null);
if (&x == null);
if (&foo); // no warning
}
llvm-svn: 202216
Diffstat (limited to 'clang/test/SemaCXX/nullptr_in_arithmetic_ops.cpp')
-rw-r--r-- | clang/test/SemaCXX/nullptr_in_arithmetic_ops.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/SemaCXX/nullptr_in_arithmetic_ops.cpp b/clang/test/SemaCXX/nullptr_in_arithmetic_ops.cpp index 9671353907c..60b4670b3a5 100644 --- a/clang/test/SemaCXX/nullptr_in_arithmetic_ops.cpp +++ b/clang/test/SemaCXX/nullptr_in_arithmetic_ops.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -fblocks -std=c++11 -verify %s +// RUN: %clang_cc1 -fsyntax-only -Wno-tautological-pointer-compare -fblocks -std=c++11 -verify %s void foo() { int a; |