Opened 7 years ago

Closed 5 years ago

#11605 closed Bugs (fixed)

Compile errors with Clang 3.7 (and earlier)

Reported by: nikkikom@… Owned by: Joel de Guzman
Milestone: To Be Determined Component: spirit
Version: Boost 1.59.0 Severity: Problem
Keywords: fusion resule_of Cc:

Description

The problem is complicated and most probably belongs to fusion. However I'm not very sure, and technically all tests from fusion compile, it's the test from spirit repository fails. So, I'm posting it under the spirit component.

The spirit/repository/test/qi/keywords.cpp does not compile with recent clang@apple with default preprocessor definitions. I'm attaching the compiler log with this ticket.

The only way I can compile it is to use BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK preprocessor flag, unfortunately with flags triggers another branch of compile errors related to fusion's result_of helper. To fix BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK compile errors the file boost/fusion/support/detail/result_of.hpp should be modified as follows:

Was:

#if !defined(BOOST_RESULT_OF_USE_DECLTYPE)
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)

Should:

#if 1
(!defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK) \

&& !defined(BOOST_RESULT_OF_USE_DECLTYPE)) \

defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)

Change History (3)

comment:1 by Kohei Takahashi <flast@…>, 7 years ago

dup #11606

comment:2 by Nikita Kniazev <nok.raven@…>, 5 years ago

comment:3 by Joel de Guzman, 5 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.