I'm adding a few random windows people so this doesn't slip under the radar of anyone who may be interested. Feel free to ignore, or add others as appropriate. Also +rsmith specifically for COMExtras.h. The purpose of this file is to enable the use of ranged-based for loops for iterating for iterating COM objects (see https://msdn.microsoft.com/en-us/library/k58bkfe9.aspx for an example of what this looks like hand-written)
llvm-pdbdump is a tool which can be used to dump the contents of Microsoft-generated PDB files. It makes use of the Microsoft DIA SDK, which is a COM based library designed specifically for this purpose.
The initial commit of this tool dumps the raw bytes from PDB data streams. Future commits will dump more semantic information such as types, symbols, source files, etc similar to the types of information accessible via llvm-dwarfdump.