[PDB] Error "DIA is not installed on the system" occured in `llvm::pdb::loadDataForExe()`.

Hi all,
I have two questions about reading PDB file.

For llvm::pdb::loadDataFromEXE(PDB_ReaderType Type, ...), there are two places calling this method,
LLVMSymbolizer::getOrCreateModuleInfo(PDB_ReaderType::DIA, ...), see https://github.com/llvm-mirror/llvm/blob/master/lib/DebugInfo/Symbolize/Symbolize.cpp#L403,
and SymbolFilePDB::CalculateAbilities(PDB_ReaderType::DIA, ...), see https://github.com/llvm-mirror/lldb/blob/master/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp#L110.

  1. We can see that the arguments of the two calls are both PDB_ReaderType::DIA, that means the first IfStmt
    in llvm::pdb::loadDataFromEXE(PDB_ReaderType Type, ...) is temporarily useless. Is that right?

  2. I have visual studio 2015 installed on my computer and there is no an environment variable called
    VSINSTALLDIR. And the LLVM_ENABLE_DIA_SDK is 0, so every time need to call
    llvm::pdb::loadDataFromEXE(PDB_ReaderType Type, ...),
    it will trigger the “DIA is not installed on the system” error. I want to known is this kind of behavior correct?

did you run vcvars64.bat (or 32 if on 32 bit) before running cmake? That bat file sets all environment variables necessary like vsinstalldir. I think with that you might get DIA to work as well.