http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52962
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org --- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-04-12 23:19:17 UTC --- manuel@gcc12:~$ ~/trunk/186353M/build/gcc/cc1plus -ftrack-macro-expansion pr52962.cc pr52962.cc:1:23: error: ‘b’ was not declared in this scope #define M1(x, y, z) y(); ^ pr52962.cc:1:23: note: in expansion of macro 'M1' #define M1(x, y, z) y(); ^ pr52962.cc:2:21: note: expanded from here #define M2(x, y, z) M1(x, y, z) ^ pr52962.cc:2:21: note: in expansion of macro 'M2' #define M2(x, y, z) M1(x, y, z) ^ pr52962.cc:4:3: note: expanded from here M2(a, b, c); ^ OK, it needs a bit of fine-tuning, but it is much closer. Nice, eh? ;-)