Opened 8 years ago
Closed 8 years ago
#10832 closed Bugs (fixed)
Boost.Variant: variadic templates are disabled on Clang
Reported by: | Owned by: | Antony Polukhin | |
---|---|---|---|
Milestone: | Boost 1.58.0 | Component: | variant |
Version: | Boost 1.57.0 | Severity: | Optimization |
Keywords: | clang | Cc: |
Description
Clang compiler defines GNUC=4 and GNUC_MINOR=2, which makes Boost.Variant believe it's building against an old GCC and therefore disable variadic templates.
See this code from variant_fwd.hpp:75:
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ || (defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 7)) \ || (defined(_MSC_VER) && (_MSC_VER < 1800)) \ || defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE) \ || defined (BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT) #ifndef BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES # define BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES #endif #endif
Please include a special case when clang is defined.
Change History (2)
comment:1 by , 8 years ago
Milestone: | To Be Determined → Boost 1.58.0 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:2 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
Fixed in develop branch.