[Boost-config] Intel on MacOS (add no two phase name lookup macro)

Hi John, It seems that I need to add this patch to intel.hpp to get the intel- darwin config tests to pass. I've also attached the user.hpp generated when I ran the configure script. Does this patch look reasonable and do you see any other changes that need to be made based on the output in user.hpp? Thanks. -- Noel

K. Noel Belcourt wrote:
It seems that I need to add this patch to intel.hpp to get the intel- darwin config tests to pass. I've also attached the user.hpp generated when I ran the configure script. Does this patch look reasonable and do you see any other changes that need to be made based on the output in user.hpp?
Yep please go ahead and apply: this should probably be reported to Intel, as we already have: #if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) // GCC or VC emulation: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif which should take care of this, but the gcc version being emulated is 4.0.4 which I don't *think* has this bug? Looking through user.hpp it looks like: BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE BOOST_HAS_NANOSLEEP could both be defined in macos.hpp, maybe conditionally on the OS version? I also note that your user.hpp has BOOST_NO_STD_WSTREAMBUF defined, although it's not set in Boost.Config and doesn't appear to be causing issues with config_test? Maybe this is addressed by the Boost.Build fixes you posted? John.

On Apr 24, 2008, at 10:26 AM, John Maddock wrote:
K. Noel Belcourt wrote:
It seems that I need to add this patch to intel.hpp to get the intel- darwin config tests to pass. I've also attached the user.hpp generated when I ran the configure script. Does this patch look reasonable and do you see any other changes that need to be made based on the output in user.hpp?
Yep please go ahead and apply: this should probably be reported to Intel, as we already have:
#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) // GCC or VC emulation: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif
which should take care of this, but the gcc version being emulated is 4.0.4 which I don't *think* has this bug?
Okay, I'll report this to intel. I think Intel's gcc emulation version is 4.0.1 (--gnu_version=401). I ran the configure script with the gcc compilers and indeed it doesn't define this macro.
Looking through user.hpp it looks like:
BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE BOOST_HAS_NANOSLEEP
could both be defined in macos.hpp, maybe conditionally on the OS version?
I can't find any OS version macros to condition with so I went with __GNUC__ == 4, so it would set these macros for both gcc and intel. Does that seem reasonable?
I also note that your user.hpp has BOOST_NO_STD_WSTREAMBUF defined, although it's not set in Boost.Config and doesn't appear to be causing issues with config_test? Maybe this is addressed by the Boost.Build fixes you posted?
Oversight on my part. I forgot to set CXXFLAGS=-D__WINT_TYPE__=int before running configure. Thanks for pointing this out. -- Noel

K. Noel Belcourt wrote:
could both be defined in macos.hpp, maybe conditionally on the OS version?
I can't find any OS version macros to condition with so I went with __GNUC__ == 4, so it would set these macros for both gcc and intel. Does that seem reasonable?
Yep, please go ahead if you haven't already. John.
participants (2)
-
John Maddock
-
K. Noel Belcourt