https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64439
Bug ID: 64439
Summary: Incorrect location of -Wunused-value or false negative
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: chengniansun at gmail dot com
For the expression "a && ((b = 0) != 0)", GCC warns that the expression value
"((b = 0) != 0)" is not used. Should it point to the whole expression rather
this sub-expression? Or this is a false negative of -Wunused-value?
$: cat s.c
void f(int a, int b) {
a && ((b = 0) != 0);
}
$:
$: gcc-trunk -c -Wunused-value s.c
s.c: In function âfâ:
s.c:2:17: warning: value computed is not used [-Wunused-value]
a && ((b = 0) != 0);
^
$:
$: clang-trunk -c -Wunused-value s.c
s.c:2:5: warning: expression result unused [-Wunused-value]
a && ((b = 0) != 0);
~ ^ ~~~~~~~~~~~~~~
1 warning generated.
$:
$: