It appears that I need:

#undef __PURE_SYS_C99_HEADERS__
#define __PURE_INTEL_C99_HEADERS__

to cause the Intel headers to NOT include any of the gcc headers
on a Linux system. I need this as the gcc headers have bugs.

Do any of the icc command line options cause the gcc headers
to be skipped? Or, do I need to do the above C preprocessor
statements in my code?

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi tydeman,

Does -nostdinc fulfill your needs?


Do not search the standard system directories for header files. Only the directories you have specified with -I options (and the directory of the current file, if appropriate) are searched.


I believe not. I think that would disable both the gcc headers and the intel headers.

That's true. How about -isystem option? It adds directory to the start of the system include path.

icc -c -nostdinc -isystem /opt/intel/Compiler/11.1/072/include a.c


That looks like it will work.

My #undef and #define and your changing the system headers appear to be about the same as a workaround of the gcc headers.


Leave a Comment

Please sign in to add a comment. Not a member? Join today