This fixes various symbolization test failures for me when I build with a hermetic VS2015 without having run the 2015 installer.
Diff Detail
Event Timeline
lib/DebugInfo/PDB/DIA/DIASession.cpp | ||
---|---|---|
27 | LLVM prefers 'static' functions to anonymous namespaces: |
lib/DebugInfo/PDB/DIA/DIASession.cpp | ||
---|---|---|
27 | Yes, but there was already an empty unnamed namespace _right here_! It seemed like fate wanted this to be in an unnamed namespace :-) (will change before landing) |
Zach: Background is that this helps with https://bugs.chromium.org/p/chromium/issues/detail?id=596201 The NoRegCoCreate() technique is from similar code in breakpad.
lib/DebugInfo/PDB/DIA/DIASession.cpp | ||
---|---|---|
37–47 | Why don't we just check _MSC_VER? That looks equivalent to this whole guid comparison logic. #if ((_MSC_VER/100) == 19) msdia_dll = L"msdia140.dll"; #elif ((_MSC_VER/100) == 18) msdia_dll = L"msdia120.dll"; |
address comments
lib/DebugInfo/PDB/DIA/DIASession.cpp | ||
---|---|---|
37–47 | Sure, I can do that. The current approach works with compilers that don't set _MSC_VER as long as they understand _uuidof, but that's probably not a very important use case. Done. |
LLVM prefers 'static' functions to anonymous namespaces:
http://llvm.org/docs/CodingStandards.html#anonymous-namespaces
*shrug*