http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60741
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org --- Comment #1 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- We don't warn for fb(), because PR18501. So the only original bug here is the location when warning. The problem is the locations that are propagated when transforming expressions. We reach: # n_4 = PHI <n_5(D)(3), [test.cc : 6:17] 1(6), [test.cc : 7:17] 2(4)> <L3>: [test.cc : 20:32] # RANGE [-2147483648, 2147483647] NONZERO 0x00000000000000007 _2 = n_4 + 1; When instead we should have a location for n_4 that is different than the location for '+'. In any case, pointing to the closing parenthesis is very confusing. At worst it should point to the '+'.