I have a problem with compiling code that works fine with gcc 4.8.1 or clang 3.5. At first, icc refused to compile it claiming (incorrectly) that my code had more than one instance of an overloaded template function (where I was using SFINAE). When working around this bug (by replacing a single template function with several overloaded non-template functions), I got:
/cm/shared/apps/gcc/4.8.1/include/c++/4.8.1/type_traits(1766): internal error: assertion failed: lower_constant: bad kind (shared/cfe/edgcpfe/lower_il.c, line 5804)
struct enable_if
^
I attach the preprocessed file triggering this -- I couldn't produce a brief example :-(
Note:
icpc -V
Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.0.090 Build 20140723