http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48677
--- Comment #13 from ralphengels at gmail dot com <ralphengels at gmail dot com> 2011-05-15 01:37:13 UTC --- took me quite a while but i found the bug. in gcc/cppspec.c /* If we don't need to edit the command line, we can bail early. */ new_argc = argc + need_E + read_stdin + !!lang_c_here + !!lang_S_here; if (new_argc == argc && !o_here) return; new_decoded_options = XNEWVEC (struct cl_decoded_option, new_argc); /* old one */ //new_decoded_options[0] = new_decoded_options[0]; /* new one */ new_decoded_options[0] = decoded_options[0]; i figured it was a bug in command processing after a while so i compared with an older working release and this was what seemed out of place. can you confirm this ?