http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-06-23 Ever confirmed|0 |1 --- Comment #9 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Allan McRae from comment #8) > I really have no idea what I am looking for... but adding a breakpoint at > linemap_add I see (reason, file): > > LC_ENTER "foo.c" > LC_RENAME "<command-line>" > LC_ENTER "/usr/include/stdc-predef.h" > LC_LEAVE 0x0 > LC_RENAME "foo.c" > <- correct output printed here > LC_LEAVE 0x0 > > LC_ENTER "foo.c" > LC_RENAME "<command-line>" > LC_ENTER "foo.h" > LC_LEAVE 0x0 > LC_ENTER "/usr/include/stdc-predef.h" > LC_RENAME "foo.c" > LC_LEAVE 0x0 > <- incorrect output printed here > LC_LEAVE 0x0 > > So it looks like it is not leaving "/usr/include/stdc-predef.h" at the right > time so the wrong thing is being renamed? It seems a probable cause for this bug. Can you track where the return paths differ? Does LC_ENTER "/usr/include/stdc-predef.h" happen through the same functions in both cases? and the LC_LEAVE 0x0 just afterwards? Perhaps there is a missing LC_LEAVE or perhaps the order between LC_RENAME "foo.c" LC_LEAVE 0x0 should be reversed. Strangely, I still cannot reproduce this: manuel@gcc10:~$ ~/test1/200330/install/bin/gcc -imacros foo.h foo.c foo.c: In function ‘main’: foo.c:1:21: error: expected expression before ‘}’ token int main() { return } ^ manuel@gcc10:~$ ~/test1/200330/install/bin/gcc -v Using built-in specs. COLLECT_GCC=/home/manuel/test1/200330/install/bin/gcc COLLECT_LTO_WRAPPER=/home/manuel/test1/200330/install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/manuel/test1/src/configure --prefix=/home/manuel/test1/./200330/install --enable-languages=c,c++,objc,fortran,ada,obj-c++ Thread model: posix gcc version 4.9.0 20130622 (experimental) [trunk revision 195333] (GCC) Are you sure you don't have some local arch-linux patches? Have you tried directly downloading the svn version?