
While looking at this, I also noticed that BOOST_NO_CXX11_HDR_TYPE_TRAITS is set for g++ and clang, even though they do have <type_traits>. The config test fails because they don't have is_trivially_* and aligned_union. Fair enough, but the rest of the traits are there and usable, so I'm not entirely sure about this.
Me neither. Basically no one's complained so I've left it set. <shrug> I guess. Could go either way on that. John.
AFAIR, by convention we set HDR macros when the header is fully usable. I think that's fair. We could introduce other sub-feature macros for finer grained checks, like BOOST_NO_CXX11_TYPE_INSPECTION_TRAITS, BOOST_NO_CXX11_TYPE_TRANSFORM_TRAITS, etc.
not sure: with <atomic> BOOST_NO_CXX11_HDR_ATOMIC is not defined for some configurations which do not provide a complete implementation of std::atomic<>: clang/libc++ only very recently managed to provide a completely usable atomic<>, while other toolchains only provided a partial implementation for quite some time ... however it would definitely be a good convention only to define this macro once a header is fully implemented. tim