the subject says it all…
After some experimenting, I got a bit confused as far as what the proper thing to do might be…
I build llvm/clang from trunk sources on OSX Lion 10.7.3 (i.e. x86_64-apple-darwin11.3.0 to speak GNU’s platform-ese) where I also have successfully built a fsf-gcc 4.6.2 (and lately a 4.7 for that matter) from sources.
Now, I think I understand that by playing with clang’s lib/Frontend/InitHeaderSearch.cpp you can have clang use whatever libstdc++ include files you want.
Is that really true and fully supported practice, or do you have, when on OSX, either stick with Apple’s (through Xcode-)provided gcc 4.2.1’s libstdc++ or the all-new (but still a bit immature) libc++?
I’m aware (after posting http://llvm.org/bugs/show_bug.cgi?id=12303) that if you build clang with paths tuned for, say, gcc-4.6’s libstdc++, then you have to remember, every time you build something with clang++, to always make the linker find gcc-4.6’s libstdc++, but as cumbersome as it might seem (if there’s some configure hook that avoids the need of always passing “-L<wherever gcc-4.6’libstdc++ lives>” I’d really be happy to use it), it’s always worked for me.
Until lately, when I built the latest gcc-4.7 and since then clang++ (rebuilt of course with paths updated for the new compiler) chokes on every cpp file as soon as I start including something like or etc…
Is it just a problem with gcc-4.7 libstdc++ headers that for some reason clang++ is not (yet) able to digest, or have I always been doing something not supported on OSX and I’ve just been lucky that it has been working until now?