I think it is known issue [http://software.intel.com/en-us/forums/topic/489013 : gcc 4.7.0 header use for iccc version 14.0.2 (gcc version 4.8.0 compatibility)] when cross-compiling for MIC. Following code compile fine with gcc 4.8.1 but it failed to build with icc 14.0.2
#include <map> int main () { std::map<char,int> mymap; auto it = mymap.end(); it = mymap.emplace_hint(it,'b',10); return 0; }
>icpc -v
icpc version 14.0.2 (gcc version 4.8.0 compatibility)
>icpc -c -std=c++11 -mmic test.cpp -o test.o
test.cpp(6): error: class "std::map<char, int, std::less<char>, std::allocator<std::pair<const char, int>>>" has no member "emplace_hint"
it = mymap.emplace_hint(it,'b',10);
Any work around or fix for this available?