Intel compiler 8.0 pretends to be gcc 3.2.

Martin Buchholz martin@xemacs.org
Sat Jun 21 17:46:00 GMT 2003


>>>>> "HJ" == H J Lu <hjl@lucon.org> writes:

>> I have had to change one such test to
>> 
>> #if defined (__GNUC__) && !defined (__INTEL_COMPILER)
>> 
>> to enable compilation with both gcc and icc in my own code,
>> where icc's emulation of gcc is imperfect.
>> 

HJ> Do you know what part is imperfect? As far as I know, icc 8.0 doesn't
HJ> support nested functions nor asm statements on ia64. I am working on
HJ> a gcc patch to support icc 8.0 ia64 intrinsics so that asm statements
HJ> can be avoid.

The construct "inline template" for explicit template instantiation is
not accepted by icc.  I have code like this:

#if defined (__GNUC__) && !defined(__INTEL_COMPILER)
#define INLINE_TEMPLATE inline template
#else
#define INLINE_TEMPLATE template
#endif
INLINE_TEMPLATE class ObI::Impl<Array<int> >;

Martin



More information about the Gcc mailing list