I have noticed an issue with the Windows Intel C++ 16.0.1.139 compiler. The Start menu shortcut Compiler 16.0 Update 1 for IA-32 Visual Studio 2013 environment for targeting IA-32 launches C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\lang\INTEL16\compilers_and_libraries_2016.1.139\windows\bin\ipsxe-comp-vars.bat" ia32 vs2013". In the command window that opens, ifort /Zi works fine, but icl /Zi fails, complaining that the required MSPDB110.DLL is not available. Using cl /Zi works in the same window, and MSPDB110.DLL and MSPDB120.DLL exist and are accessible through PATH. What gives?
A little probing shows that in the new setup up for 16.0 Update 1, even for 32-bit targets the ICL compiler itself is a 64 bit exe: the command where icl.exe gives compilers_and_libraries_2016.1.139\windows\bin\intel64_ia32\icl.exe .That is a 64-bit EXE, and it then probably looks for a 64-bit MSPDB110.DLL or MSPDB120.DLL, and finding only the 32-bit DLL along PATH, says that the DLL was not found. The ifort.exe in the same directory is also a 64-bit EXE, but it seems to have no problems finding the MSPDBxxx.DLL, so I do not know/understand the details of what goes on.
I solved the problem by copying MSPDB120.DLL from <VC_install_dir>\VS12\vc\bin\amd64 into the ...windows\bin\intel64_ia32 directory, but there has to be a better solution.