[config] about BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS

In config/intel.hpp, this defect macro is defined as follows #if defined(__ICL) && (__ICL <= 710) # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS #endif The macro should be defined *only* for Intel C++ 7.1 or older for Windows 32-bit. So my questions are: 1. Is the definition correct in light of what I said above? 2. What's the meaning of all those different macros __ICC, __ICL and __ECC? I've googled for them but found nothing conclusive. Thanks Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

The macro should be defined *only* for Intel C++ 7.1 or older for Windows 32-bit. So my questions are:
1. Is the definition correct in light of what I said above?
I believe so.
2. What's the meaning of all those different macros __ICC, __ICL and __ECC? I've googled for them but found nothing conclusive.
__ICL is Intel on windows. __ICC is Intel on linux (IA32) __ECC is Intel on itanium (or at least I think it is). John.

John Maddock ha escrito:
The macro should be defined *only* for Intel C++ 7.1 or older for Windows 32-bit. So my questions are:
1. Is the definition correct in light of what I said above?
I believe so.
2. What's the meaning of all those different macros __ICC, __ICL and __ECC? I've googled for them but found nothing conclusive.
__ICL is Intel on windows. __ICC is Intel on linux (IA32) __ECC is Intel on itanium (or at least I think it is).
OK, thanks very much for the info. PS. Your computer's date seems to be wrong (your email is dated Saturday). Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

"Joaquín Mª López Muñoz" wrote:
In config/intel.hpp, this defect macro is defined as follows
#if defined(__ICL) && (__ICL <= 710) # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS #endif
The macro should be defined *only* for Intel C++ 7.1 or older for Windows 32-bit.
I recommend: #if (defined __INTEL_COMPILER) && (defined _WIN32) && (__INTEL_COMPILER <= 710) ... #endif __ICL is supported only for legacy reasons (according to the docs). /Pavel

#if (defined __INTEL_COMPILER) && (defined _WIN32) && (__INTEL_COMPILER <= 710) ... #endif
__ICL is supported only for legacy reasons (according to the docs).
Sigh, yes you're right, but I don't think __INTEL_VERSION is defined by the older Intel compiler versions, so I'll switch to: #if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS #endif John.
participants (3)
-
Joaquín Mª López Muñoz
-
John Maddock
-
Pavel Vozenilek