Intel® C++ Compiler - Compiler Diagnostics (i.e. errors, warnings, or remarks)

Diagnostic Definitions

Currently, there is not a comprehensive document that lists the diagnostic (such as error, warning or remark) definitions for the Intel® C++ Compiler for Windows, Linux* and Mac OS*, and Intel® Parallel Composer. But we've started to document all the Intel C++ Compiler diagnostic messages in our Knowledge Base. If you need to find more information about a specific diagnostic, let us know at the Intel® C++ Compiler User Forum or the Intel® Parallel Studio User Forum.  This will help us prioritize diagnostic descriptions for updating.

The diagnostic page has the url link like below. The number "11003" is the diagnostic number that the Intel C++ Compiler emits in the output window.

Intel® C++ Compiler for Linux* and Mac OS* Diagnoses More Warnings than GNU Compilers

Typically the Intel® C++ Compiler emits more warnings than the GNU Compilers. These warnings alert programmers to potentially non-portable or dangerous situations.

To disable warnings or errors

If the diagnostic has a number associated with the message (for example, 111), you can disable the message:

prompt> icpc -wd111 a.cpp

You can disable multiple warnings by using a comma-separated list.

prompt> icpc -wd111,222,333 a.cpp

Intel® C++ Compiler for Windows* 10.1 or 11.0 Diagnoses More Warnings than Visual C++* Compiler

In most cases the Intel C++ Compiler for Windows emits more warnings than Visual C++ compiler. You can disable the warnings or errors with following command:

prompt> icl /Qwd111 a.cpp

Intel® Parallel Composer beta Behaves the same as Visual C++* Compiler in emitting diagnostics

By default the Intel Parallel Composer beta behaves the same as Visual C++ compiler in emitting diagnostics. If you'd like to see more warnings or errors, please add following option to the project property "C/C++ -> Command Line -> Additional Options" field.



For more complete information about compiler optimizations, see our Optimization Notice.


peter.'s picture

Great to know that. Thanks for the help.
Could you still share with us the completed list? I mean do you have the PDF or other formal doc about the completed list?

Otherwise I should search the forum and screen one by one, right?


Jennifer J. (Intel)'s picture

Only some diagnostics are completed right now, this one is not:

For your sample, it makes sense. it means that "end()" and "begin()" are evaluated in no particular order.

peter.'s picture

Any document on examples for correct usage corresponding to that diagnostics.
For example, some times I just don't understand what should be the right practice.

Let me give u an example,

vector< string > vFilesNames;


sort(vFilesNames.begin(), vFilesNames.end(), strComparator)

The dianostics then goes on that sort(....)
remark #981: operands are evaluated in unspecified order

Jennifer J. (Intel)'s picture

You can get the full diag list with following cmd:

>> icl /Qdiag-dump t.cpp

$ icc -diag-dump t.c

peter.'s picture

Hi, Jennifer, I am looking for a comprehensive list of intel compiler generated remarks/warnings
where do I find any document about it even it is incomplete?

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.