Boost logo

Boost :

From: Jonathan Brandmeyer (jbrandmeyer_at_[hidden])
Date: 2005-02-03 22:23:20


On Thu, 2005-02-03 at 15:48 +0000, John Maddock wrote:
> >> I attach the valgrind output for one of the Boost.Python tests.
> >> Does this ring any bells?
> >
> > I started to do a test run with GCC 3.3.5, and noticed this warning in
> > the output (should be an error, IMO...):
> > /home/jonathan/src/boost-CVS-HEAD/boost/boost/preprocessor/iteration/detail/local.hpp:37:
> > instantiated from here
> > /home/jonathan/src/boost-CVS-HEAD/boost/boost/python/object_core.hpp:285:
> > warning: cannot
> > pass objects of non-POD type `struct boost::integral_constant<bool,
> > true>'
> > through `...'; call will abort at runtime
>
> Initially, I thought this might be related to the recent type traits
> changes, but if it is, I can't see how (integral_constant<bool,v> inherits
> from mpl::true_ / mpl::false_ so the usual conversions should apply and do
> the right thing here.
>
> Anyone else?
>
> John.

GCC at least doesn't think that the conversion applies, as this test
indicates.

The compiler's output:
/home/jonathan/Desktop/mpl_crash.cpp: In function `int main()':
/home/jonathan/Desktop/mpl_crash.cpp:19: warning: cannot pass objects of
   non-POD type `struct derived' through `...'; call will abort at
runtime
/home/jonathan/Desktop/mpl_crash.cpp:21: warning: cannot pass objects of
   non-POD type `struct boost::integral_constant<bool, true>' through
`...';




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