[PATCH] D38718: Patch to Bugzilla 20951
Daniel Marjamäki via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 10 04:04:54 PDT 2017
danielmarjamaki added a reviewer: danielmarjamaki.
danielmarjamaki added a comment.
I think a test for -Wtautological-pointer-compare should be added that shows that the bug is fixed.
================
Comment at: test/Sema/conditional-expr.c:84
+ //char x;
+ return (((x != ((void *) 0)) ? (*x = ((char) 1)) : (void) ((void *) 0)), (unsigned long) ((void *) 0)); // expected-warning {{C99 forbids conditional expressions with only one void side}}
}
----------------
lebedev.ri wrote:
> Please don't just remove previous tests.
> E.g. does the old test no longer warns?
>
no test is removed. The expected-warning is unchanged.
the problem with the test was that this comparison is always true:
```
(&x) != ((void *)0)
```
the address of x is never 0!
Fixing https://bugs.llvm.org/show_bug.cgi?id=20951 means Clang will warn:
```
warning: comparison of address of 'x' not equal to a null pointer is always true [-Wtautological-pointer-compare]
```
We changed the test so the -Wtautological-pointer-compare is not reported... but the original warning is still reported.
https://reviews.llvm.org/D38718
More information about the cfe-commits
mailing list