BOOST_TTI_HAS_TEMPLATE
uses variadic macros from Boost.Preprocessor. The maintainer of this library does not want to depend on Boost.Config and also believes that the macro that Config defines is not "strong enough" for a preprocessor metaprogramming library.. For these reasons the use of the variadic versions of BOOST_TTI_HAS_TEMPLATE
depends on whether BOOST_PP_VARIADICS
is defined. Sadly, the code for automatically determining if a compiler has variadic macro support is out of date and does not include clang amongst the compilers for which variadic support is on. The recommended workaround is defining BOOST_PP_VARIADICS=1
.
Apparently this has been solved in trunk, and may possibly be included in a future release.