http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24985
--- Comment #28 from dodji at seketeli dot org <dodji at seketeli dot org> 2012-04-09 16:19:15 UTC --- "manu at gcc dot gnu.org" <gcc-bugzi...@gcc.gnu.org> a écrit: > Of course, it needs some fine-tuning to avoid repetitions, but this is > a problem with the locations given by the macro expansion unwinder, > which, in my opinion, doesn't give the best location for each message > and already produces repetitions. See: > > /home/manuel/macro-caret.c: In function ‘g’: > /home/manuel/macro-caret.c:5:14: error: invalid operands to binary << (have > ‘double’ and ‘int’) > OPERATE (A,<<,B) > ^ > /home/manuel/macro-caret.c:2:9: note: in expansion of macro 'OPERATE' > OPRD1 OPRT OPRD2; > ^ > /home/manuel/macro-caret.c:5:3: note: expanded from here > OPERATE (A,<<,B) > ^ > /home/manuel/macro-caret.c:5:14: note: in expansion of macro 'SHIFTL' > OPERATE (A,<<,B) > ^ > /home/manuel/macro-caret.c:8:3: note: expanded from here > SHIFTL (A,1) > ^ > /home/manuel/macro-caret.c:8:3: note: in expansion of macro 'MULT' > SHIFTL (A,1) > ^ > /home/manuel/macro-caret.c:13:3: note: expanded from here > MULT (1.0);// 1.0 << 1; <-- so this is an error. > ^ Could you please file a specific bug for this and CC me? I'd be interested to give this a look. Thanks.