
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 `...';