Hi,
Trying to compile with 15.0 and Visual Studio 2010 I've come across something that crashes the compiler with this message:
Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.2.179 Build 20150121 Copyright (C) 1985-2015 Intel Corporation. All rights reserved. crash3.cpp ": internal error: ** The compiler has encountered an unexpected problem. ** Segmentation violation signal raised. ** Access violation or stack overflow. Please contact Intel Support for assistance. compilation aborted for crash3.cpp (code 4)
The problem happens in a cmd.exe after running compilervars intel64 vs2010. Here's the code which I've tried to get it down to the absolute minimum. Removing any of the lines or constructs makes the problem go away:
#include <string> struct P { std::string s; int i; }; void ppw(const char *w, P &pa) { if(!strcmp(w, "c") || !strcmp(w, "C")) { pa.i = 1; } else { int i; int len = strlen(w); for(i=0 ; i<len ; ++i) { if(w[i] == ':') { pa.s = w; break; } } } }
If you compile with icl -c crash3.cpp the compiler crashes. If you compile with icl -c -Qipo crash3.cpp it does not.
If you paste that code into a Visual Studio 2010 project and turn off ipo it also crashes.
If you run compilervars intel64 vs2012 then it compiles with or without -Qipo
Thanks,
-James
Addition details:
Windows 8.1 Pro x64
Visual Studio 2010 and 2012 installed