http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52998

--- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-04-15 
20:37:44 UTC ---
(In reply to comment #1)
> I think with and without macro expansion, the error should be given at 13:3,
> and unwind from outermost to innermost. Innermost to outermost makes sense if
> we show preprocessed lines:
> 
> macro-caret.c:5:14: error: invalid operands to binary << (have ‘double’ and
> ‘int’)
>    1.0 << 1
>        ^

But with preprocessed source lines, the best location is 5:14, because this way
the user can compare what is in that line with the preprocessed line shown by
GCC. So, in some sense, cc1 is right, and cc1plus is wrong.

Reply via email to