I don't think Boost libraries should rely on these macros directly. Boost.Config, OTOH, may use these macros to define its own macros
Agreed. I think that Boost.Config should aim to be forward-compatible with the SD-6 macros / feature tests. What I mean is that the naming and categorization of the features and headers should be more or less a 1-to-1 mapping to SD-6 such that at some point in the future, when many compilers provide SD-6 feature tests, the Boost.Config macro will simply need to wrap (or be defined by) the SD-6 macros. But, of course, you cannot rely on SD-6 for that now, but you can lay out the names and category in concert with SG10 (and Clang dev-team too, as they are leading on this issue) to make sure that Boost.Config and SD-6 have a harmonious future. Doesn't everyone agree that in the best of worlds, say in 5-10 years, Boost.Config would be nothing more than a wrapper for SD-6 macros? Wouldn't that be wonderful maintenance-wise? No more endless tweaking for which compiler and version supports which feature (at least, assuming compiler vendors are honest when advertising their features through the SD-6 macros). Oh, and you need to add a macro for n3644 "null forward iterators", because it's an important C++14 feature ;) That's my two-cents, Mikael.