This is a patch for http://llvm.org/bugs/attachment.cgi?bugid=3979.
It moves InitializePreprocessor() functionality to its own file under lib/Frontend from clang-cc.cpp.
This allows users of the clang libraries to properly initialize all the expected macros without copying and pasting 500 lines of code from clang-cc.cpp.
Not included are changes to Makefiles and such to properly add the new InitializePreprocessor.cpp file to the build system, since I do not know what is needed there.
InitPP.diff (42.4 KB)