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*