Subject: [Boost-bugs] [Boost C++ Libraries] #11606: Compile errors with Clang 3.7 (and earlier)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-08-31 22:22:59
#11606: Compile errors with Clang 3.7 (and earlier)
------------------------------+---------------------
Reporter: nikkikom@⦠| Owner: djowel
Type: Bugs | Status: new
Milestone: To Be Determined | Component: spirit
Version: Boost 1.59.0 | Severity: Problem
Keywords: |
------------------------------+---------------------
The problem is complicated and most probably belongs to **Boost.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_at_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:
{{{
#!c++
#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) ||
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
}}}
Should:
{{{
#!c++
#if 1 || (!defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK) \
&& !defined(BOOST_RESULT_OF_USE_DECLTYPE)) \
|| defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11606> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:18 UTC