Application miscompiled when IPO is enabled (or when Boost is used)
I have an application that's being miscompiled by Intel C++ 12.1 update 10. I cannot provide "hard proof" that it is not a programming error that only Intel C++ exposes, but the same application is compiled correctly by MSVC 2008, 2010, and every recent GCC version, and (IIRC) Intel C++ 11.1 or there abouts also compiled it correctly.
I can make the miscompilation in my own code go away if I compile it with single-file IPO instead of multi-file IPO. (Obviously this slows down the result)
At some point I'm using some Boost/Asio/Threading functions from Boost 1.49.0. The Intel C++ compiled version crashes instantly there, in the middle of Boost code (that I don't claim to understand). Again, MSVC, GCC etc no problems.
The code is confidential but I'm willing to provide it to someone at Intel if they want to investigate this issue.
Your best bet is to file the issue on your premier.intel.com support account. If you didn't register your license, you can do so at https://registrationcenter.intel.com which will create the support account. Your code posted on the support account is treated as confidential. If you attach as a private post on this forum it will be visible to all Intel personnel. I would agree that it's possible for IPO to be overloaded and misfunction in a sizeable application. The multiple IPO options may be a way to work around it.
You can still file a premier support issue with your evaluation license, although it may not get as much priority. If you do that, you could report the case number here. You could also ask for an extension of your evaluation pending analysis of your issue (doesn't hurt to ask!). If you want all Intel people who read this forum to have access, attach it here to a private issue.