Boost logo

Boost Users :

Subject: Re: [Boost-users] is_dereferenceable.hpp fails to compile with Apple Clang 3.0
From: István Csanády (istvancsanady_at_[hidden])
Date: 2011-12-11 20:16:52


I have removed the BOOST_STATIC_CONSTANT macro and made the
substitution by hand but is there any workaround to make this work
without modifying boost headers?

On Mon, Dec 12, 2011 at 2:01 AM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
> AMDG
>
> On 12/11/2011 02:26 PM, István Csanády wrote:
>> I am trying to use boost::iostreams. When I include
>> boost/iostreams/filtering_streambuf.hpp (even if I don't declare any
>> filtering_streambuf variables) I get the following compilation error:
>> is_dereferencable.hpp: Parse Issue: Expected unqualified-id
>>
>> The problem is in this code:
>>
>> template <class T>
>>   struct impl
>>   {
>>       static typename boost::remove_cv<T>::type& x;
>>
>>       BOOST_STATIC_CONSTANT(
>>           bool
>>         , value = sizeof(is_dereferenceable_::check
>> BOOST_PREVENT_MACRO_SUBSTITUTION(BOOST_comma(*x,0))) == 1
>>       );
>>   };
>>
>> Compiler: Apple Clang 3.0, with -std=c++0x flag
>>
>> Any help would be greatly appreciated.
>>
>
> This is because of Apple's evil
> #define check(x)
>
> In Christ,
> Steven Watanabe
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net