Boost logo

Boost Users :

Subject: [Boost-users] [signals2] compilation issues with gcc4.4 and -pedantic
From: Christophe Bourez (boost_at_[hidden])
Date: 2011-05-12 05:03:50


The following code:

#include <boost/signals2.hpp>
int main(int , char *[]) { return 0; }

compiles fine with gcc-4.1 and gcc-4.2 and the -pedantic option, but
generates the following errors using gcc-4.4 with the same compiling
options:

/home/build/repository/boost-1.46.1-2/gcc-4.4/include/boost/signals2/detail/preprocessed_arg_type_template.hpp:21:
error: invoking macro BOOST_SIGNALS2_PREFIXED_ARGS_TEMPLATE_DECL
argument 2: empty macro arguments are undefined in ISO C90 and ISO
C++98
/home/build/repository/boost-1.46.1-2/gcc-4.4/include/boost/signals2/detail/preprocessed_arg_type_template.hpp:21:
error: invoking macro BOOST_PP_CAT argument 1: empty macro arguments
are undefined in ISO C90 and ISO C++98
/home/build/repository/boost-1.46.1-2/gcc-4.4/include/boost/signals2/detail/preprocessed_arg_type_template.hpp:21:
error: invoking macro BOOST_PP_CAT_I argument 1: empty macro arguments
are undefined in ISO C90 and ISO C++98

Adding the option -std=c++0x removes these errors, but I am supporting
legacy code that does not compile with -std=c++0x

Is there any workaround or patch I could apply ?

Thank you,

Christophe


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