Boost logo

Boost :

Subject: Re: [boost] [type_traits] Big changes in develop
From: Aparna Kumta (aparna.kumta_at_[hidden])
Date: 2015-05-27 09:09:15


On 05/26/15 23:11, Vicente J. Botet Escriba wrote:
> Le 26/05/15 23:46, Aparna Kumta a écrit :
>> On 05/22/15 05:22, John Maddock wrote:
>>> A heads up that the "Version2" rewrite of type traits is now in
>>> develop.
>>>
>>> There's still lots to do - more PR's will happen over the coming
>>> weeks to remove obsoleted code from other libraries (and quash the
>>> warnings that they'd otherwise generate). The docs also need a
>>> major update.
>>>
>>> In the mean time please do shout loudly if there are any regressions
>>> caused by this change.
>> I am seeing several test failures for Oracle Solaris Studio runs on
>> develop branch as follows:
>> http://www.boost.org/development/tests/develop/developer/output/oracle-sparc-S2-stlport4-boost-bin-v2-libs-type_traits-test-common_type_2_test-test-sun-stlport4-release-threading-multi.html
>>
>>
>> "CC" -compat=5 -library=stlport4 -xO4 -mt -erroff=%none -errwarn -m32
>> -KPIC -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I".."
>> -I"../libs/type_traits/test/libs/tt2/light/include" -c -o
>> "/export/home/sstrunk-tester/boost_regression/boost_sparc-S2_stlport4/results/boost/bin.v2/libs/type_traits/test/common_type_2_test.test/sun-stlport4/release/threading-multi/common_type_2_test.o"
>> "../libs/type_traits/test/common_type_2_test.cpp"
>>
>> "../boost/type_traits/common_type.hpp", line 116: Error:
>> detail_type_traits_common_type is not defined.
>> "../boost/type_traits/common_type.hpp", line 116: Error: A
>> declaration does not specify a tag or an identifier.
>> "../boost/type_traits/common_type.hpp", line 116: Error: Use ";" to
>> terminate declarations.
>> "../boost/type_traits/common_type.hpp", line 116: Error: "}" expected
>> instead of"<".
>>
> Thanks for the report. I don't see where the error could be. Do you
> mind to provide the result of the preprocessor on a simple example?

Modifying lines#15-#17, in boost/type_traits/common_type.hpp (shown
below) causes the tests to pass.

%CC -compat=5 -library=stlport4 -xO4 -mt -erroff=%none -errwarn -m32
-KPIC -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I..
-I../libs/type_traits/test/libs/tt2/light/include -c -o
./common_type_2_test.o ../libs/type_traits/test/common_type_2_test.cpp
%

% diff ./common_type.hpp common_type.hpp_orig
15,18c15,17
< #ifdef __SUNPRO_CC
< # define BOOST_COMMON_TYPE_USE_TYPEOF
< #endif
<

---
 > #if defined(__SUNPRO_CC) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
 > #  define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
 > #endif
%
>> In boost/type_traits/common_type.hpp , lines #15- #17,
>> 15 #if defined(__SUNPRO_CC) && 
>> !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
>> 16 #  define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
>> 17 #endif
>> However, __typeof__ is supported and this file needs to be modified 
>> to reflect that.
>>
>>
>
> We will need a patch that works for the versions of SunPro providing 
> __typeof__. But shouldn't this be part of Boost.Typeof?
> Could you provide such a patch?
Yes, i can submit a PR later today.
Thanks
Aparna
>
> Vicente
>
> _______________________________________________
> 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