[Boost-bugs] [Boost C++ Libraries] #5010: Fusion will now compile under Objective-C++

Subject: [Boost-bugs] [Boost C++ Libraries] #5010: Fusion will now compile under Objective-C++
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-12-22 01:31:06


#5010: Fusion will now compile under Objective-C++
--------------------------------------------+-------------------------------
 Reporter: Brian Doig <Brian.Doig@…> | Owner: djowel
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: fusion
  Version: Boost 1.45.0 | Severity: Showstopper
 Keywords: |
--------------------------------------------+-------------------------------
 I was attempting to use the boost::accumulators which relies on
 boost::fusion on the iPhone/Mac OS in a file that needs to know about
 Apple Objective-C data types using Objective-C++.

 Line 21 of boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp
 declares the following:

 struct nil;

 This is illegal under Objective-C, and thus Objective C++ since nil is a
 reserved word. As a result, merely including any file that depends on
 cons_iterator.hpp results in error messages such as the following.

 The easy fix for this is to change the name of the nil struct to anything
 other than a reserved word under Obj-C++.


 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:21:
 error: expected identifier before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:21:
 error: expected unqualified-id before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:28:
 error: expected type-specifier before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:28:
 error: expected '>' before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:52:
 error: expected unqualified-id before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:54:
 error: type/value mismatch at argument 1 in template parameter list for
 'template<class T> struct boost::add_const'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:54:
 error: expected a type, got '0'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:54:
 error: template argument 1 is invalid
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:57:
 error: expected unqualified-id before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:57:
 error: expected `)' before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:61:
 error: type/value mismatch at argument 1 in template parameter list for
 'template<class Cons> struct boost::fusion::cons_iterator'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:61:
 error: expected a type, got '0'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:68:
 error: type/value mismatch at argument 1 in template parameter list for
 'template<class Cons> struct boost::fusion::cons_iterator'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:68:
 error: expected a type, got '0'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:78:
 error: expected unqualified-id before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:78:
 error: expected `)' before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:85:
 error: expected unqualified-id before '__null'
 /Users/bdoig/Dropbox/Projects/boost_1_45_0/boost/fusion/container/list/cons_iterator.hpp:85:
 error: expected `)' before '__null'

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5010>
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:05 UTC