https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64637
Bug ID: 64637 Summary: Incorrect location for -Wunused-value warnings in for-loop 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 GCC emits a warning at the start of the for statement, whereas the unused value is in the next line. This behavior could introduce confusion that the "for" statement has no effect, which is not true. $: cat s.c void g(); void f(int b) { for(int i = 0; i < b; i + b) { g(); } } $: $: gcc-trunk -Wunused-value -c s.c s.c: In function âfâ: s.c:4:3: warning: statement with no effect [-Wunused-value] for(int i = 0; i < b; ^ $: $: clang-trunk -Wunused-value -c s.c s.c:5:9: warning: expression result unused [-Wunused-value] i + b) { ~ ^ ~ 1 warning generated. $: $: