Boost logo

Boost :

Subject: Re: [boost] [type_traits] Rewrite and dependency free version
From: Edward Diener (eldiener_at_[hidden])
Date: 2015-01-15 13:16:15

On 1/15/2015 3:58 AM, John Maddock wrote:
>> Testing gcc on Windows 7 with mingw and mingw64:
>> Running type_traits tests passed with msvc-8.0, msvc-9.0, gcc-4.4.0,
>> gcc-4.5.0, gcc-4.5.2, and gcc-4.9.2.
>> Failed with gcc-4.3.0 with:
>> "testing.capture-output
>> ..\..\..\bin.v2\libs\type_traits\test\has_nothrow_assign_test.test\gcc-mingw-4.3.0\debug\
>> ====== BEGIN OUTPUT ======
>> has_nothrow_assign_test.cpp:204: The expression:
>> "::boost::has_nothrow_assign<nothrow_construct_UDT>::value" had an
>> invalid value (found 1, expected 0)"
> I assume the current version has the same failure?

You are correct. There is no difference between the current version and

>> In type_traits with gcc versions below 4 there are lots of failures of
>> the order of:
>> "gcc.compile.c++
>> ..\..\..\bin.v2\libs\type_traits\test\is_virtual_base_of_test.test\gcc-mingw-3.4.5\debug\is_virtual_base_of_test.o
>> ../../../boost/type_traits/is_virtual_base_of.hpp: In instantiation of
>> `boost::detail::is_virtual_base_of_impl<Base, Derived,
>> boost::integral_constant<bool, true>
>> >::boost_type_traits_internal_struct_X':
>> ../../../boost/type_traits/is_virtual_base_of.hpp:65: instantiated
>> from `boost::detail::is_virtual_base_of_impl<Base, Derived,
>> boost::integral_constant<bool, true> >'
>> ../../../boost/type_traits/is_virtual_base_of.hpp:73: instantiated
>> from `boost::detail::is_virtual_base_of_impl2<Base, Derived>'
>> ../../../boost/type_traits/is_virtual_base_of.hpp:82: instantiated
>> from `boost::is_virtual_base_of<Base, Derived>'"
>> etc. Of course I can't imagine anyone still using those versions.
> You missed out the error message!

Just warnings and no error message.

> But again, does the current version
> have the same failure?

The current version has similar failures. I don't see an error message
with the failures in either the current version or the version2 version
for gcc-3.4.5, just lots of warnings with "...failed gcc.compile.c++ ...
" messages. Are the type_traits tests set to fail if any warnings occur ?

It hardly seems necessary for type_traits to support gcc-3. I shouldn't
have bothered testing it anyway.

>> The function_types library depends on some type_traits implementation
>> which is not in Version2, and tti uses function_types etc so tti fails.
>>> * If anyone would like to help converting further traits all help would
>>> be much appreciated.... Oh and the compiler requirements in the docs are
>>> all wildly out of date too...
>> Where are the compiler requirements for type_traits mentioned ?
> There are out of date mentions in the docs - it all needs a *lot* of
> revising.

I could not find any mention of compiler requirements in the type_traits
docs, much less out of date mentions, other than in the topic "Support
for Compiler Intrinsics".

> If you mean "what are the requirements for this rewrite", then I don't
> know yet... *should* be the same as the current code modulo the usual

Boost list run by bdawes at, gregod at, cpdaniel at, john at