Change 29847 by [EMAIL PROTECTED] on 2007/01/17 12:30:43
Integrate:
[ 27027]
Intel C Compiler 9.0 hatefully defines __GNUC__. Unfortunately,
icc does not support gcc built-ins like __attribiute__.
[ 27568]
Fix some test failures in t/op/cmp.t when compiling with the Intel
C++ Compiler on Linux.
[ 28566]
Keep Intel C++ from claiming that it is gcc.
[ 28728]
Additional floating point strictness is needed to get Intel cc to pass
its tests.
Affected files ...
... //depot/maint-5.8/perl/hints/linux.sh#12 integrate
... //depot/maint-5.8/perl/perl.h#126 integrate
Differences ...
==== //depot/maint-5.8/perl/hints/linux.sh#12 (text) ====
Index: perl/hints/linux.sh
--- perl/hints/linux.sh#11~26612~ 2006-01-03 09:09:11.000000000 -0800
+++ perl/hints/linux.sh 2007-01-17 04:30:43.000000000 -0800
@@ -77,7 +77,9 @@
case "`${cc:-cc} -V 2>&1`" in
*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*)
# This is needed for Configure's prototype checks to work correctly
- ccflags="-we147 $ccflags"
+ # The -mp flag is needed to pass various floating point related tests
+ # The -no-gcc flag is needed otherwise, icc pretends (poorly) to be gcc
+ ccflags="-we147 -mp -no-gcc $ccflags"
# If we're using ICC, we usually want the best performance
case "$optimize" in
'') optimize='-O3' ;;
==== //depot/maint-5.8/perl/perl.h#126 (text) ====
Index: perl/perl.h
--- perl/perl.h#125~29846~ 2007-01-17 03:36:40.000000000 -0800
+++ perl/perl.h 2007-01-17 04:30:43.000000000 -0800
@@ -2462,7 +2462,7 @@
* have HASATTRIBUTE_FORMAT).
*/
-#if defined __GNUC__
+#if defined __GNUC__ && !defined(__INTEL_COMPILER)
# if __GNUC__ >= 3 /* 3.0 -> */ /* XXX Verify this version */
# define HASATTRIBUTE_FORMAT
# endif
End of Patch.