Hi @clang,
there seems to be a bug in InitPreprocessor.h, line 139 rendering the release build of MSVC buggy.
The line
llvm::Twine DefPrefix = "__" + Prefix + "_";
should read
llvm::Twine DefPrefixTmp = "__" + Prefix;
llvm::Twine DefPrefix = DefPrefixTmp + "_";
otherwise there is a temporary llvm::Twine object used after deconstruction. With the change above it works fine.
Best regards
Olaf
PS: sorry for not providing a patch but I'm already late
(and it took me some time as it only occured in the release build).