Boost logo

Boost :

Subject: Re: [boost] [type_traits] Rewrite and dependency free version
From: Edward Diener (eldiener_at_[hidden])
Date: 2015-01-18 18:29:59


On 1/18/2015 7:09 AM, John Maddock wrote:
>
>> I'm going to throw this out there to see what folks think:
>>
>> In a branch called "Version2", see
>> https://github.com/boostorg/type_traits/tree/Version2 is a partially
>> rewritten type_traits lib: it doesn't yet contain all the traits of the
>> old one, but there's a pretty good selection to test.
>
> This rewrite is now complete except for common_type which is the same as
> the old version, and pulls in all kinds of dependencies.
>
> So...
>
> 1) Can folks please give this a test? Both the type_traits tests and
> whatever real world tests may be out there (or other Boost libraries of
> course).

First tests for just type_traits using mingw/gcc on Windows shows no
problems for gcc-4.8.1 on up.

But this single target failure for gcc-4.7.2 on down:

> gcc.compile.c++ ..\..\..\bin.v2\libs\type_traits\test\aligned_storage_a2_test.test\gcc-mingw-4.6.2\debug\aligned_storage_a2_test.o
> aligned_storage_a2_test.cpp: In function 'void do_check(const T&) [with T = boost::integral_constant<unsigned int, 1u>]':
> aligned_storage_a2_test.cpp:78:78: instantiated from here
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<1u, 1u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'char [1]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:78:78: instantiated from here
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<2u, 1u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'char [2]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:78:78: instantiated from here
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<1u, -1u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'char [1]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp: In function 'void do_check(const T&) [with T = boost::integral_constant<unsigned int, 2u>]':
> aligned_storage_a2_test.cpp:79:79: instantiated from here
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<2u, 2u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'char [2]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:79:79: instantiated from here
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<4u, 2u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'char [4]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:79:79: instantiated from here
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<2u, -1u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'char [2]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp: In function 'void do_check(const T&) [with T = boost::integral_constant<unsigned int, 4u>]':
> aligned_storage_a2_test.cpp:80:77: instantiated from here
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<4u, 4u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'char [4]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:80:77: instantiated from here
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<8u, 4u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'char [8]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:80:77: instantiated from here
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<4u, -1u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'char [4]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp: In function 'void do_check(const T&) [with T = boost::integral_constant<unsigned int, 8u>]':
> aligned_storage_a2_test.cpp:83:80: instantiated from here
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<8u, 8u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:38:18: error: missing braces around initializer for 'char [8]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:83:80: instantiated from here
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<16u, 8u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:49:18: error: missing braces around initializer for 'char [16]' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:83:80: instantiated from here
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'boost::detail::aligned_storage::aligned_storage_imp<8u, -1u>::data_t' [-Werror=missing-braces]
> aligned_storage_a2_test.cpp:63:18: error: missing braces around initializer for 'char [8]' [-Werror=missing-braces]
> cc1plus.exe: all warnings being treated as errors
>
>
> "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -pedantic -Werror -g -Wextra -Wno-uninitialized -DBOOST_ALL_NO_LIB=1 -I"..\..\.." -I"libs\tt2\light\include" -c -o "..\..\..\bin.v2\libs\type_traits\test\aligned_storage_a2_test.test\gcc-mingw-4.6.2\debug\aligned_storage_a2_test.o" "aligned_storage_a2_test.cpp"
>
> ...failed gcc.compile.c++ ..\..\..\bin.v2\libs\type_traits\test\aligned_storage_a2_test.test\gcc-mingw-4.6.2\debug\aligned_storage_a2_test.o...

>
> 2) What do we do about common_type?
>
> Thanks! John.
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


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