http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46333
--- Comment #1 from Jay <jay.krell at cornell dot edu> 2010-11-06 16:25:26 UTC --- also a bunch of gcc options are being passed to CC, odd I set CXX=/usr/bin/CC to get here. CC: Warning: Option -Wno-long-long passed to ld, if ld is invoked, ignored otherwise source='../../gcc-4.5/libcpp/expr.c' object='expr.o' libtool=no DEPDIR=.deps depmode=dashXmstdout /bin/bash ../../gcc-4.5/libcpp/../depcomp /usr/bin/CC -I../../gcc-4.5/libcpp -I. -I../../gcc-4.5/libcpp/../include -I../../gcc-4.5/libcpp/include -g -W -Wall -Wwrite-strings -Wmissing-format-attribute -pedantic -Wno-long-long -I../../gcc-4.5/libcpp -I. -I../../gcc-4.5/libcpp/../include -I../../gcc-4.5/libcpp/include -c ../../gcc-4.5/libcpp/expr.c CC: Warning: Option -W passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -Wall passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -Wwrite-strings passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -Wmissing-format-attribute passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -pedantic passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -Wno-long-long passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -W passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -Wall passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -Wwrite-strings passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -Wmissing-format-attribute passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -pedantic passed to ld, if ld is invoked, ignored otherwise also lots of warnings about mixing extern "C" and not: "../../gcc-4.5/libcpp/files.c", line 1173: Warning (Anachronism): Formal argument 2 of type extern "C" unsigned(*)(const void*) in call to htab_create_alloc(unsigned, extern "C" unsigned(*)(const void*), extern "C" int(*)(const void*,const void*), extern "C" void(*)(void*), extern "C" void*(*)(unsigned,unsigned), extern "C" void(*)(void*)) is being passed unsigned(*)(const void*). "../../gcc-4.5/libcpp/files.c", line 1173: Warning (Anachronism): Formal argument 3 of type extern "C" int(*)(const void*,const and other errors related, mixing said in ternary, like: foo = foo2 ? foo2 : foo3; (as in reallocator = set->reallocator ? set->reallocator : xrealloc) where foo2 and foo3 vary in extern C-ness. workaround is foo = foo2 if (!foo) foo = foo3 even though that doesn't seem different enough -- I understand there is the problem of figuring out a type for the ternary operator, but there is also the matter of being able to assign the function pointers here's an example of the obtack_free problem, either I didn't get all the obstack.h files fixed or the cast needs to be void* or something: "../../gcc-4.5/libcpp/files.c", line 1193: Error: Cannot assign char* to int.