
Hallo, Doug. The attached patch for signal_test.cpp enables the alternative syntax for the Borland compilers as they still do not support the standard one. I realize that this in itself could be considered a reason for the test to fail. What do you think? Maybe this patch could be applied to the RC_1_34_0 branch only and not to head. In any case I'll wait for your approval before applying it. Cheers, Nicola Musatti ******Index: signal_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/signals/test/signal_test.cpp,v retrieving revision 1.9 diff -d -u -r1.9 signal_test.cpp --- signal_test.cpp 3 Feb 2005 13:35:20 -0000 1.9 +++ signal_test.cpp 2 May 2006 21:34:59 -0000 @@ -9,6 +9,7 @@ #include <boost/test/minimal.hpp> #include <boost/signal.hpp> +#include <boost/detail/workaround.hpp> #include <functional> #include <iostream> @@ -59,8 +60,11 @@ make_int i62(62, 61); { +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + boost::signal0<int, max_or_default<int> > s0; +#else boost::signal<int (), max_or_default<int> > s0; - +#endif std::cout << "sizeof(signal) = " << sizeof(s0) << std::endl; boost::BOOST_SIGNALS_NAMESPACE::connection c2 = s0.connect(i2); boost::BOOST_SIGNALS_NAMESPACE::connection c72 = s0.connect(72, i72); @@ -94,13 +98,21 @@ } { +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + boost::signal0<int, max_or_default<int> > s0; +#else boost::signal<int (), max_or_default<int> > s0; +#endif boost::BOOST_SIGNALS_NAMESPACE::connection c2 = s0.connect(i2); boost::BOOST_SIGNALS_NAMESPACE::connection c72 = s0.connect(i72); boost::BOOST_SIGNALS_NAMESPACE::connection c62 = s0.connect(i62); boost::BOOST_SIGNALS_NAMESPACE::connection c42 = s0.connect(i42); +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + const boost::signal0<int, max_or_default<int> >& cs0 = s0; +#else const boost::signal<int (), max_or_default<int> >& cs0 = s0; +#endif BOOST_CHECK(cs0() == 72); } @@ -108,7 +120,11 @@ make_increasing_int<7> i7; make_increasing_int<10> i10; +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + boost::signal0<int, max_or_default<int> > s0; +#else boost::signal<int (), max_or_default<int> > s0; +#endif boost::BOOST_SIGNALS_NAMESPACE::connection c7 = s0.connect(i7); boost::BOOST_SIGNALS_NAMESPACE::connection c10 = s0.connect(i10); @@ -120,7 +136,11 @@ static void test_one_arg() { +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + boost::signal1<int, int, max_or_default<int> > s1; +#else boost::signal<int (int value), max_or_default<int> > s1; +#endif s1.connect(std::negate<int>()); s1.connect(std::bind1st(std::multiplies<int>(), 2)); @@ -132,14 +152,22 @@ static void test_signal_signal_connect() { +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + boost::signal1<int, int, max_or_default<int> > s1; +#else boost::signal<int (int value), max_or_default<int> > s1; +#endif s1.connect(std::negate<int>()); BOOST_CHECK(s1(3) == -3); { +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + boost::signal1<int, int, max_or_default<int> > s2; +#else boost::signal<int (int value), max_or_default<int> > s2; +#endif s1.connect(s2); s2.connect(std::bind1st(std::multiplies<int>(), 2)); s2.connect(std::bind1st(std::multiplies<int>(), -3));