- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Greetings,
due to bug while compile time (assertion failure) in ICL i need to do this in two pieces of code:
[bash]#if defined(__INTEL_COMPILER) && !defined(HAVE_INTEL_COMPILER_BUG_02) # pragma ivdep #endif[/bash] while defining "HAVE_INTEL_COMPILER_BUG_02" in MSVC 2010 project file.
I am using ICL 12.1 (parallel studio + MSVC 2010). Is there some built-in ICL preprocessr define like "_MSC_VER" for visual studio, so I will not have to define preprocessor symbol in project file, but rather in sources (preprocessor + ICL version comparison)?
Am I blind, or this is not mentioned in the ICL documentation?
Actually I want to test for 12.1 ICL version by preprocessor.
due to bug while compile time (assertion failure) in ICL i need to do this in two pieces of code:
[bash]#if defined(__INTEL_COMPILER) && !defined(HAVE_INTEL_COMPILER_BUG_02) # pragma ivdep #endif[/bash] while defining "HAVE_INTEL_COMPILER_BUG_02" in MSVC 2010 project file.
I am using ICL 12.1 (parallel studio + MSVC 2010). Is there some built-in ICL preprocessr define like "_MSC_VER" for visual studio, so I will not have to define preprocessor symbol in project file, but rather in sources (preprocessor + ICL version comparison)?
Am I blind, or this is not mentioned in the ICL documentation?
Actually I want to test for 12.1 ICL version by preprocessor.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The doc for this is at http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/win/index.htm#bldaps_cls/cppug_ccw/bldaps_macros_win.htm#bldaps_macros_win although it's not visible from the table of contents, which is odd. I'll submit a docs issue for that.
Anyway, __INTEL_COMPILER contains a value that's version dependent. For the latest 12.1 compiler, it's 1210. Be careful, as there is a known issue for the first product version of 12.1 (12.1.0 in C++ Composer XE 2011 update 6) that emits "9999" for this. Updates 7 and later do the correct thing.
Anyway, __INTEL_COMPILER contains a value that's version dependent. For the latest 12.1 compiler, it's 1210. Be careful, as there is a known issue for the first product version of 12.1 (12.1.0 in C++ Composer XE 2011 update 6) that emits "9999" for this. Updates 7 and later do the correct thing.
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The doc for this is at http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/win/index.htm#bldaps_cls/cppug_ccw/bldaps_macros_win.htm#bldaps_macros_win although it's not visible from the table of contents, which is odd. I'll submit a docs issue for that.
Anyway, __INTEL_COMPILER contains a value that's version dependent. For the latest 12.1 compiler, it's 1210. Be careful, as there is a known issue for the first product version of 12.1 (12.1.0 in C++ Composer XE 2011 update 6) that emits "9999" for this. Updates 7 and later do the correct thing.
Anyway, __INTEL_COMPILER contains a value that's version dependent. For the latest 12.1 compiler, it's 1210. Be careful, as there is a known issue for the first product version of 12.1 (12.1.0 in C++ Composer XE 2011 update 6) that emits "9999" for this. Updates 7 and later do the correct thing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brandon,
Thanks for the link! I have a question:
What are 'EDG' and '__EDG_VERSION__' macros for?
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Marián "VooDooMan" Meravý wrote:Actually, over time, two things happened to me: 1. I have found out that __INTEL_COMPILER is compiler-defined number of ICC version, so it can be easily detected by preprocessor. 2. I don't need "HAVE_INTEL_COMPILER_BUG_02" to define globally, since that bug was resolved by official ICC 13.0 (not beta). So I have undefined this project-wide preprocessor symbol, and workaround is not needed any-more.
Greetings,
due to bug while compile time (assertion failure) in ICL i need to do this in two pieces of code:
#if defined(__INTEL_COMPILER) && !defined(HAVE_INTEL_COMPILER_BUG_02) # pragma ivdep #endifwhile defining "HAVE_INTEL_COMPILER_BUG_02" in MSVC 2010 project file.
I am using ICL 12.1 (parallel studio + MSVC 2010). Is there some built-in ICL preprocessr define like "_MSC_VER" for visual studio, so I will not have to define preprocessor symbol in project file, but rather in sources (preprocessor + ICL version comparison)?
Am I blind, or this is not mentioned in the ICL documentation?
Actually I want to test for 12.1 ICL version by preprocessor.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I use the following verifications when some problems in the compiler need to be workarounded:
#if __INTEL_COMPILER_BUILD_DATE == 20040309 // Intel C++ compiler v7.1.029
...
#endif
#if __INTEL_COMPILER_BUILD_DATE == 20060606 // Intel C++ compiler v8.1.038
...
#endif
#if __INTEL_COMPILER_BUILD_DATE == 20120130 // Intel C++ compiler v12.1.3
//...
#endif
#if __INTEL_COMPILER_BUILD_DATE == 20120928 // Intel C++ compiler v12.1.7
//...
#endif
#if __INTEL_COMPILER_BUILD_DATE == 20120731 // Intel C++ compiler v13.1.0
//...
#endif
#if __INTEL_COMPILER_BUILD_DATE == 20130118 // Intel C++ compiler v13.1.2
//...
#endif
and so on.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page