Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

XE 2013 update 3: 2 bugs

Marián__VooDooMan__M
New Contributor II
263 Views

Greetings,
MSVC 2012, x64 build
issue 1:
The /MP switch has not been fixed. In the ProcessExplorer (sysinternals, now Microsoft) I see for process "mcpcom.exe" CPU utilization at 23% (I have core2 quad CPU, i.e. only one core is used out of 4) and it displays for open handles only one *.obj file at a time.

issue 2:
When in build process I press Ctrl+Break, it will generate *.obj file of zero size, later on F7 press, it will compile the rest and on link it complains "x64\DebugOptimized\XXX.obj : fatal error LNK1136: invalid or corrupt file". I recommend proper file wiping, or as a workaround, I suggest checking for zero-sized *.obj files. I have reported this issue with "update 2" on this forum, but I can't remember the exact URL. If you want to reproduce the issue, just hit Ctrl+Break.

issue 3. [optional]

In the ProcessExplorer, I have seen on link-time code generation ("/Qipo") that code generating-linker is opening and in turn closing and opening in turn the same *.obj files, often many times in sequence. I suggest for optimal performance a "file descriptor caching", like it has Apache web server implemented, just to keep files open for a few seconds (with use of hash tables), and after that closing it.

0 Kudos
2 Replies
SergeyKostrov
Valued Contributor II
263 Views
I address my message to Intel and I think some comments have to be made about Update 3. There are too many issues / problems for a new update!
0 Kudos
SergeyKostrov
Valued Contributor II
263 Views
Even if my post is Not related to reported bugs I hope that these codes will help with isolating some Intel C++ compiler problems after installing Update 3, or another versions: ... #if __INTEL_COMPILER_BUILD_DATE == [ Add a Build Date of Update 3 Here! ] #pragma message ( "*** Message: Compiling with Intel C++ v13.1.3 ***" ) //... #endif #if __INTEL_COMPILER_BUILD_DATE == 20130118 #pragma message ( "*** Message: Compiling with Intel C++ v13.1.2 ***" ) //... #endif #if __INTEL_COMPILER_BUILD_DATE == 20120731 #pragma message ( "*** Message: Compiling with Intel C++ v13.1.0 ***" ) //... #endif #if __INTEL_COMPILER_BUILD_DATE == 20120928 #pragma message ( "*** Message: Compiling with Intel C++ v12.1.7 ***" ) //... #endif #if __INTEL_COMPILER_BUILD_DATE == 20120130 #pragma message ( "*** Message: Compiling with Intel C++ v12.1.3 ***" ) //... #endif #if __INTEL_COMPILER_BUILD_DATE == 20060606 #pragma message ( "*** Message: Compiling with Intel C++ v8.1.038 ***" ) //... #endif ... If you see that Update 3 breaks some functionality use a conditional #if-#endif statement(s) to isolate a problem and try to apply a workaround(s) if it is possible.
0 Kudos
Reply