Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-08-18 11:59:37


From: "Gennadiy Rozental" <gennadiy_at_[hidden]>

> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:109401c243dc$d7d48350$6501a8c0_at_boostconsulting.com...
> > The multiplatform nightly build results for Boost.Python are pointing
out
> > some new problems related to Boost.Test
> >
> > See the end of
> > http://cci.lbl.gov/boost/results/1029337201/dailylog_tru64_cxx_test,
>
> Two issues here:
> 1. Execution monitor compilation.
> According to place where error occurred BOOST_UNIX_STYLE_SIGNAL_HANDLING
is
> used. That means
> #include <unistd.h>
> #include <signal.h>
> #include <setjmp.h>
>
> But it fails to find siglongjmp, sigaction and others sig... . Do we need
> some other includes for this platform?

I don't know. Ralf has traditionally been very generous about providing
accounts for Boost programmers who need to make things work there. Maybe
he'll give you access so you can see for yourself.

> 2. Test tools compilation
> The same as with gcc it requires inclusion of floating_point_comparisons.

Not sure what that means, but...

> What MACRO designate this compiler?

__DECCXX_VER

...this compiler is highly conforming, as are recent GCCs. Are you sure
that's not a general requirement?

> In fact it seems like a feature that
> need to be handled through config system: instantiate unused templates.

Does your system require that unused templates be instantiated? If so,
that's totally unportable. Maybe you should be using something like
boost/python/detail/force_instantiate.hpp to instantiate templates that
would otherwise be unused.

> What you think about introducing appropriate macro?

I don't know what your proposed macro is supposed to indicate. Please
explain precisely what it should mean.

> > http://cci.lbl.gov/boost/results/1029337201/dailylog_irix_CC_test, and
>
> Boost.Config does not seems to define BOOST_NO_STDC_NAMESPACE for this
> compiler. This cause all errors I think.

Ralf/Nick, can you confirm that this is appropriate and missing? If so, we
can add it to boost/config/compiler/sgi_mipspro.hpp

> > http://cci.lbl.gov/boost/results/1029337201/dailylog_win32_vc60_test
> >
> T:\sauter\boostbuild\1029682800\boost\boost/test/test_tools.hpp(256) :
error
> C2955: 'arg' : use of class template requires template argument list
> T:\sauter\boostbuild\1029682800\boost\boost/bind/arg.hpp(26) :
see
> declaration of 'arg'
>
> template<typename ArgType, typename Predicate>
> inline bool
> test_and_continue_impl( Predicate const& pred, ArgType const& arg,
> wrapstrstream const& message, char const*
file_name,
> int line_num,
> unit_test_framework::report_level loglevel =
> unit_test_framework::report_all_errors )
>
> Do you have the arg template defined anywhere?

Probably; I'm not sure.

> I could rename formal
> argument, but why did this name clash happened?

Because VC6 has a bug. I've added trailing underscores to many of my formal
argument names to avoid just this problem.

> > the last of these points out a way that the new test tools stimulate a
bug
> > in VC6, I think.
>
> Boost.Test is working on MSVC 6.5. What version are you using for
> compilation?

The same as you. The bug occurs in an interaction with (my) other code in
the translation unit. It sucks, but the best you can do is rename the
argument to stay out of the way, and hope that you haven't collided with
any other likely template names.

-Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk