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

How can I verify Build or Update numbers of Intel C++ compiler at compile time?

SergeyKostrov
Valued Contributor II
569 Views

How can I verify Build or Update numbers of Intel C++ compiler at compile time? I'm currently using three versions of Intel C++ compiler and when compiling some sources their outputs look like: [ Version 8.1 ] ... Compiling with Intel(R) C++ Compiler 8.1.038 [IA-32]... (Intel C++ Environment) Stdphf.cpp ... [ Version 12.1.3 ] ... Compiling with Intel(R) C++ Compiler XE 12.1.3.300 [IA-32]... (Intel C++ Environment) Stdphf.cpp ... [ Version 13.0.0 ] ... Compiling with Intel(R) C++ Compiler XE 13.0.0.089 [IA-32]... (Intel C++ Environment) Stdphf.cpp ... and I changed a font to bold for numbers I need to verify at compile time. I know that Intel C++ compiler specific macros __INTEL_COMPILER and __INTEL_COMPILER_BUILD_DATE provide information about some release and they could be used. So, I wonder if another Intel C++ compiler specific macros with some additional information about release exist? Thanks in advance.

0 Kudos
10 Replies
SergeyKostrov
Valued Contributor II
569 Views
If I use Intel C++ compiler specific macros __INTEL_COMPILER and __INTEL_COMPILER_BUILD_DATE during build process here are an example what values they have: [ Version 8.1 ] ... Compiling with Intel(R) C++ Compiler 8.1.038 [IA-32]... (Intel C++ Environment) Stdphf.cpp Diagnostics: Compiler Version: 810 Diagnostics: Compiler Build Date: 20060606 ... [ Version 12.1.3 ] ... Compiling with Intel(R) C++ Compiler XE 12.1.3.300 [IA-32]... (Intel C++ Environment) Stdphf.cpp Diagnostics: Compiler Version: 1210 Diagnostics: Compiler Build Date: 20120130 ... [ Version 13.0.0 ] ... Compiling with Intel(R) C++ Compiler XE 13.0.0.089 [IA-32]... (Intel C++ Environment) Stdphf.cpp Diagnostics: Compiler Version: 1300 Diagnostics: Compiler Build Date: 20120731 ... and as you can see numbers 038, 300 and 089 are Not displayed.
0 Kudos
SergeyKostrov
Valued Contributor II
569 Views
Here are some codes: #define _STRING2( x ) #x #define _STRING( x ) _STRING2( x ) ... #pragma message ( "Diagnostics: Compiler Version: " _STRING( __INTEL_COMPILER ) ) #pragma message ( "Diagnostics: Compiler Build Date: " _STRING( __INTEL_COMPILER_BUILD_DATE ) ) ...
0 Kudos
jimdempseyatthecove
Honored Contributor III
569 Views

A macro that returns:  Intel(R) C++ Compiler XE 13.0.0.089 [IA-32]

would be nice.

Jim

0 Kudos
Judith_W_Intel
Employee
569 Views

 

Our latest (under development compiler) has a new macro called __INTEL_COMPILER_UPDATE. I can't tell what it's going to be set to because it is currently 0 since we haven't put out a release yet. But it sounds like this could be what you are looking for...

0 Kudos
SergeyKostrov
Valued Contributor II
569 Views
>>...Our latest (under development compiler) has a new macro called __INTEL_COMPILER_UPDATE... Thanks for the update and it is really what I need. Of course I understand that in versions 8 or 12 I won't be able to use it. By the way, Microsoft C++ compiler has a macro _MSC_FULL_VER but it doesn't include update number.
0 Kudos
SergeyKostrov
Valued Contributor II
569 Views
I also see a very strange problem: As soon as Intel software engineer makes a new post in a thread 1st post in the thread is Re-Formatted. Take a look how my 1st post looks like now...
0 Kudos
jimdempseyatthecove
Honored Contributor III
569 Views

Sergey,

Did you post as:

Bla bla bla my code follows:
&[;cpp&];      Sergey, remove ampersand and semicolon
int main()
...
&[;/cpp&];     Sergey, remove ampersand and semicolon keep /

Jim Dempsey

0 Kudos
SergeyKostrov
Valued Contributor II
569 Views
>>...Did you post as: >> >>Bla bla bla my code follows: >>&[;cpp&]; Sergey, remove ampersand and semicolon >>... No and the editor's mode was 'Rich-text' disabled.
0 Kudos
SergeyKostrov
Valued Contributor II
569 Views
In overall, a set of diagnostic macros will be very helpful. Please take a look at these two examples: [ Example of Output - 1 ] ... *** Message: Compiling with Intel C++ v12.1.3 *** *** Message: Configuration - Desktop - _WIN32_ICC - RELEASE *** # Diagnostics: Environment ID: "8.0" # Diagnostics: Environment CODE: "Default" # Diagnostics: Compiler ID: ( ( 5000 ) + 10000 ) # Diagnostics: Compiler CODE: "ICC" # Diagnostics: Compiler VERSION: 1210 # Diagnostics: Compiler BUILD DATE: 20120130 *** Message: Compiling for Intel Processing Unit ( 32-bit ) *** ... [ Example of Output - 2 ] ... *** Message: Compiling with Visual Studio 2005 *** *** Message: Configuration - Windows Mobile 5.0 - _WIN32CE_MSC - RELEASE *** # Diagnostics: Environment ID: "8.0" # Diagnostics: Environment CODE: "VS2005" # Diagnostics: Compiler ID: 1400 # Diagnostics: Compiler CODE: "MSCCE" # Diagnostics: Compiler VERSION: 140060131 # Diagnostics: Compiler BUILD DATE: 20050707 *** Message: Compiling for ARM Processing Unit *** ...
0 Kudos
jimdempseyatthecove
Honored Contributor III
569 Views

Sergy,

I believe Rich Text or Not Rich Text has no effect on what occures with using &[;xxx&]...&[;/xxx&]; (ampersand nad semicolon removed)
Where xxx is one of: bash, csharp, cpp, css, fortran, jscript, java, perl, php, plain, python, r, ruby, sql, xml, html, javascript, s, splus.

The two tags are not html either, rather the websit script uses these identifiers to reformat the enclosed text in a format familliar with the language specified. Example of which is cpp programmers tend to prefer that a newline at the end of a statement is not removed by the editor and shows as a new line as opposed to new paragraph.

Jim Dempsey

0 Kudos
Reply