Compilatore C++ Intel®

Explicit Template Instantiation Declaration doesn't avoid code generation.


Here is a proof of concept :

template <typename T>
struct zoo
    T a;
    T foo() { return 2 * a; } // at least one function so zoo requires some code generation.
                              // -> explicit decl are more likely to require an explicit def.

extern template zoo<int>;

int main()
    zoo<int> a;

This single source file program compiles and links without error with "Intel C++ 15.0" on Windows, while in my understanding it would be looking for a missing explicit definition.

Intel Compiler doesn't generate program database for release mode


I have again a case where compiling my huge program with MSVC works just fine, with ICC -O2 it ends up with almost neverending compilation and linker problems and with -O1 it seems to generate incorrect code (it immediately crashes). So I want to check the code itself, but despite I specify I want a PDB, so that MSVC can understand the code, ICC doesn't report anything and just doesn't create the PDB... really frustrating... This is the command line:

Iscriversi a Compilatore C++ Intel®