Boost logo

Boost Users :

From: Christoph (christoph.duelli_at_[hidden])
Date: 2008-05-31 03:57:30


Eric Niebler wrote:

> Christoph Duelli wrote:
>> compiling
>>
>> #include <boost/xpressive/regex_actions.hpp>
>>
>> fails with
>> gcc version 3.3.3 (SuSE Linux)
>> (running SuSE LES9)
>>
>> Any chance that might be fixed?
>> Anything I can do about it?
>
> This is a pretty old compiler, and I don't have easy access to it. I
Yes, unfortunately we have machine with that old thing. Too bad...
Always makes me happy when my code does not work on an older machine ;-)
> suppose if you posted the error messages I might be able to suss out a
> workaround.
Thanks. I will do so once back at work.

However, as a first hint:
I was able to compile my stuff after disabling (#if 0) the
following -apparently not needed by me- parts in that header.
Perhaps its an issue with BOOST_PROTO_DEFINE_FUNCTION_TEMPLATE.

 /// as (a.k.a., lexical_cast)
    ///
    BOOST_PROTO_DEFINE_FUNCTION_TEMPLATE(
        1
      , as
      , boost::proto::default_domain
      , (boost::proto::tag::function)
      , ((op::as)(typename))
    )

    /// static_cast_
    ///
    BOOST_PROTO_DEFINE_FUNCTION_TEMPLATE(
        1
      , static_cast_
      , boost::proto::default_domain
      , (boost::proto::tag::function)
      , ((op::static_cast_)(typename))
    )

    /// dynamic_cast_
    ///
    BOOST_PROTO_DEFINE_FUNCTION_TEMPLATE(
        1
      , dynamic_cast_
      , boost::proto::default_domain
      , (boost::proto::tag::function)
      , ((op::dynamic_cast_)(typename))
    )

    /// const_cast_
    ///
    BOOST_PROTO_DEFINE_FUNCTION_TEMPLATE(
        1
      , const_cast_
      , boost::proto::default_domain
      , (boost::proto::tag::function)
      , ((op::const_cast_)(typename))
    )

Perhaps there was a compile problem with these, too:
    /// Usage: construct\<Type\>(arg1, arg2)
    ///
    BOOST_PROTO_DEFINE_VARARG_FUNCTION_TEMPLATE(
        construct
      , boost::proto::default_domain
      , (boost::proto::tag::function)
      , ((op::construct)(typename))
    )

    /// Usage: throw_\<Exception\>(arg1, arg2)
    ///
    BOOST_PROTO_DEFINE_VARARG_FUNCTION_TEMPLATE(
        throw_
      , boost::proto::default_domain
      , (boost::proto::tag::function)
      , ((op::throw_)(typename))
    )

(Can't check right now as someone has shut that machine down. I will on
Monday, though!)

For some reason, my "optional" constructs did not compile either.
(I temp. replaced these by "| *_s"...)
As I said, I will investigate the matter more next Monday.

Best regards, and have a nice weekend
Christoph


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