Boost Testing :
From: John Maddock (john_at_[hidden])
Date: 2005-06-07 04:47:26
> So IIUC every compiler that does not defined BOOST_NO_IS_ABSTRACT
> defines BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION, except for vacpp.
> Apparantly so, following are the options added by configure (in user.hpp)
> <user.hpp generated by configure>
> #define BOOST_MSVC6_MEMBER_TEMPLATES
> #define BOOST_HAS_UNISTD_H
> #define BOOST_HAS_STDINT_H
> #define BOOST_HAS_SIGACTION
> #define BOOST_HAS_SCHED_YIELD
> #define BOOST_HAS_PTHREADS
> #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
> #define BOOST_HAS_PTHREAD_DELAY_NP
> #define BOOST_HAS_PARTIAL_STD_ALLOCATOR
> #define BOOST_HAS_NL_TYPES_H
> #define BOOST_HAS_NANOSLEEP
> #define BOOST_HAS_MACRO_USE_FACET
> #define BOOST_HAS_LONG_LONG
> #define BOOST_HAS_GETTIMEOFDAY
> #define BOOST_HAS_DIRENT_H
> #define BOOST_HAS_CLOCK_GETTIME
> #define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
> </user.hpp generated by configure>
> BTW, are these options necessary in *addition* to the options already used
> or meant to be a config from scratch? AFAICT the latter, right?
>From scratch, so it looks like SFINAE works OK. In fact only one defect
macro is pretty impressive!
> if SFINAE would'nt work, the configure script would define BOOST_NO_SFINAE
> in user.hpp, right?
> But what if we just test if we're working with the __IBMCPP__ compiler and
> then define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION in
> type_traits/config.hpp, just like you do for GCC, MSVC etc.
Yes, that looks to be the best fix for now, can you check that does actually
work? Feel free to commit it if it does.
>>Hope this helps to clear things up, and not muddy them further!
> I'm hanging on ;-)
Thanks for pursuing this,