[type_traits] Big changes in develop
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. Thanks, John.
On 5/22/2015 8:22 AM, John Maddock wrote:
A heads up that the "Version2" rewrite of type traits is now in develop.
Great !
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.
Of the current PRs for this, all appear to have been applied except for "Remove deprecated type traits idioms #30" on the graph library. But you made this for the 'master" branch instead of 'develop'. Maybe that is why it has not been applied by whomever is maintaining the graph library.
In the mean time please do shout loudly if there are any regressions caused by this change.
Will do.
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...
"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"<". 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. Thanks, Aparna
Thanks, John.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
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...
"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?
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? Vicente
On 27/05/2015 07: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...
"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"<".
Will Investigate, thanks for the report. 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?
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 Boost.Typeof needs patching as well, but note that since one goal of the rewrite is to reduce the libraries dependencies, Boost.Typeof is used as a last resort in common_type, and typeof is used directly when available. John.
John Maddock wrote:
On 27/05/2015 07:11, Vicente J. Botet Escriba wrote:
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 Boost.Typeof needs patching as well, ...
Boost.Typeof already appears to use __typeof__: #elif defined(__SUNPRO_CC) # if (__SUNPRO_CC < 0x590 ) # ifdef BOOST_TYPEOF_NATIVE # error native typeof is not supported # endif # ifndef BOOST_TYPEOF_EMULATION # define BOOST_TYPEOF_EMULATION # endif # else # ifndef BOOST_TYPEOF_EMULATION # ifndef BOOST_TYPEOF_NATIVE # define BOOST_TYPEOF_NATIVE # endif # define BOOST_TYPEOF_KEYWORD __typeof__ # endif # endif
... but note that since one goal of the rewrite is to reduce the libraries dependencies, Boost.Typeof is used as a last resort in common_type, and typeof is used directly when available.
Do we have to use Typeof in common_type at all? In the cases in which
common_type
Do we have to use Typeof in common_type at all? In the cases in which common_type
::type is either T or U, can we not find that out by using two overloads? Is this not good enough?
Wouldn't that fail where promotions are involved for example with enum types? In any case this is basically what happens when BOOST_COMMON_TYPE_DONT_USE_TYPEOF and BOOST_NO_CXX11_DECLTYPE are set. I didn't write this one, so to be honest, I'm not sure what's lost in that situation - type registration, better support for older MSVC? John.
John Maddock wrote:
Do we have to use Typeof in common_type at all? In the cases in which common_type
::type is either T or U, can we not find that out by using two overloads? Is this not good enough? Wouldn't that fail where promotions are involved for example with enum types?
Yes, it's not as I specified. The proper procedure for ?: is actually - if T and U are the same type, T - if T or U is a class type - if T converts to U and U does not convert to T, U - if U converts to T and T does not convert to U, T - otherwise error - if T and U are arithmetic or enumerations, "usual arithmetic conversions" - if T and U are pointers, "composite pointer type" There's no need for typeof anywhere, as far as I can see.
In any case this is basically what happens when BOOST_COMMON_TYPE_DONT_USE_TYPEOF and BOOST_NO_CXX11_DECLTYPE are set.
I'll take a look.
In any case this is basically what happens when BOOST_COMMON_TYPE_DONT_USE_TYPEOF and BOOST_NO_CXX11_DECLTYPE are set.
I'll take a look.
Yes, the code in common_type_imp.hpp does something along the lines of my initial suggestion. It looks to me that following the ?: specification as in
- if T and U are the same type, T
- if T is V cv1 & and U is V cv2 &, V cv12 & (I missed this bullet)
- if T or U is a class type - if T converts to U and U does not convert to T, U - if U converts to T and T does not convert to U, T - otherwise error - if T and U are arithmetic or enumerations, "usual arithmetic conversions" - if T and U are pointers, "composite pointer type"
would actually be easier to follow and more correct. The "usual arithmetic conversions" can be implemented simply by testing all of the arithmetic types, instead of * define the set of NominalCandidates to be * { * unsigned_soft(T'), * unsigned_soft(U'), * signed_soft(T'), * signed_soft(U'), * T', * U', * unsigned int, * int * } as the code does now. "Composite pointer type" is a bit more complicated, but I don't see any tests for it. :-) (The composite type of int*** and int const*** is int const* const* const*.)
It looks to me that following the ?: specification would actually be easier to follow and more correct.
I sketched an implementation along those lines, which as a side effect
defines the following useful traits:
identity<T> (::type == T)
remove_cv_ref<T> (remove_cv
On 28/05/2015 16:59, Peter Dimov wrote:
It looks to me that following the ?: specification would actually be easier to follow and more correct.
I sketched an implementation along those lines, which as a side effect defines the following useful traits:
identity<T> (::type == T) remove_cv_ref<T> (remove_cv
)
I would be inclined to call that remove_cv_reference ?
combine_cv
(copies the cv qualifiers from U to T)
See https://svn.boost.org/trac/boost/ticket/3970
common_arithmetic_type
(for arithmetic or enum types, their common type per "usual arithmetic conversions") composite_pointer_type ( the "composite pointer type" per the standard, that is, the pointer type to which both T and U will convert) Should we add those traits to the library proper, or is it better for them to remain implementation details? The first three seem to be rediscovered on a daily basis.
IMO +1 on the first three, much less sure about the last 2. Care to submit a PR? Thanks, John.
John Maddock wrote:
remove_cv_ref<T> (remove_cv
) I would be inclined to call that remove_cv_reference ?
remove_cv_ref is the already established name; everyone uses it. Boost has two such, one in base_from_member, another in function_types/example. remove_cv_ref: 3080 results in Google, remove_cv_reference: 6 results. Although I wouldn't be surprised if we get std::remove_cv_reference at some point, as one of those 6 results is in the LWG issue list.
combine_cv
(copies the cv qualifiers from U to T)
copy_cv works too.
common_arithmetic_type
(for arithmetic or enum types, their common type per "usual arithmetic conversions") composite_pointer_type ( the "composite pointer type" per the standard, that is, the pointer type to which both T and U will convert) Should we add those traits to the library proper, or is it better for them to remain implementation details? The first three seem to be rediscovered on a daily basis.
IMO +1 on the first three, much less sure about the last 2.
The last two appear worthy because (a) they implement things that are specified in the standard; both "usual arithmetic conversions" and "composite pointer type" are in [expr] and (b) they deserve their own tests, and it's a bit odd to test implementation details. But either way is fine with me.
Care to submit a PR?
I'm not at the PR point yet, need to clean up the implementation and check against the existing tests (which are pretty slim by the way) first.
On Thu, May 28, 2015 at 9:38 AM, Peter Dimov wrote:
I'm not at the PR point yet, need to clean up the implementation and check against the existing tests (which are pretty slim by the way) first.
On that note, do we want to fix type_traits/alignment_of, or have it
leverage align/alignment_of? alignment_of in align is more conforming
to the specification, supports T[] incomplete types, and appears to
work for more cases too.
(John, check out
https://github.com/boostorg/align/blob/master/test/alignment_of_test.cpp,
which Peter improved vastly, and try it with boost::alignment_of
instead of boost::alignment::alignment_of).
If the former (fixing up type_traits/alignment_of) is the best
approach, I can probably submit a PR for that. If the latter route is
preferable, we could just change type_traits/alignment_of.hpp to:
#include
On Thu, May 28, 2015 at 9:38 AM, Peter Dimov wrote:
I'm not at the PR point yet, need to clean up the implementation and check against the existing tests (which are pretty slim by the way) first.
On that note, do we want to fix type_traits/alignment_of, or have it leverage align/alignment_of? alignment_of in align is more conforming to the specification, supports T[] incomplete types, and appears to work for more cases too.
(John, check out https://github.com/boostorg/align/blob/master/test/alignment_of_test.cpp, which Peter improved vastly, and try it with boost::alignment_of instead of boost::alignment::alignment_of).
If the former (fixing up type_traits/alignment_of) is the best approach, I can probably submit a PR for that. If the latter route is preferable, we could just change type_traits/alignment_of.hpp to:
#include
namespace boost { using boost::alignment::alignment_of; }
(Boost.Align doesn't depend on Boost.Type_Traits, so there are no concerns there). I would prefer to avoid introducing new dependencies if possible given
On 28/05/2015 17:54, Glen Fernandes wrote: that one aim was for the new type_traits to depend on nothing but Config. So a PR would be good, will investigate those tests too. Thanks, John.
I'm not at the PR point yet, need to clean up the implementation and check against the existing tests (which are pretty slim by the way) first.
Interesting. The standard appears to mandate std::common_type
"Let C denote the type, if any, of an unevaluated conditional expression (5.16) whose first operand is an arbitrary value of type bool, whose second operand is an xvalue of type T1, and whose third operand is an xvalue of type T2."
Ah, never mind, it passes C through the unary common_type, which does the decay. A bit odd to lose the lvalue reference in such a way though.
El 28/05/2015 a las 18:18, John Maddock wrote:
On 28/05/2015 16:59, Peter Dimov wrote:
It looks to me that following the ?: specification would actually be easier to follow and more correct.
I sketched an implementation along those lines, which as a side effect defines the following useful traits:
Wonderful. Peter, John, thanks for this amazing simplification of TypeTraits.
I sketched an implementation along those lines, ...
It's at https://github.com/pdimov/common_type Take a look and let's see how to proceed from there. I haven't yet done the member pointers, which I suspect nobody uses (they aren't covered by the existing tests), but I'll add them later for completeness. I've applied decay<> up front for simplicity, instead of faithfully doing the reference-preserving work and then throwing that away, which makes a difference in some corner cases, but I doubt that anybody will be able to tell the difference. (Needless to say, those corner cases aren't being tested at the moment.) :-) Incidentally, why is our decay<> not the same as std::decay? Should it be changed to conform?
On some corner cases, this implementation is actually more conforming than decltype(?:) on msvc up to 12.0. :-)
On 28/05/2015 22:14, Peter Dimov wrote:
I sketched an implementation along those lines, ...
It's at
https://github.com/pdimov/common_type
Take a look and let's see how to proceed from there. I haven't yet done the member pointers, which I suspect nobody uses (they aren't covered by the existing tests), but I'll add them later for completeness.
I've applied decay<> up front for simplicity, instead of faithfully doing the reference-preserving work and then throwing that away, which makes a difference in some corner cases, but I doubt that anybody will be able to tell the difference. (Needless to say, those corner cases aren't being tested at the moment.) :-)
Incidentally, why is our decay<> not the same as std::decay? Should it be changed to conform?
Yes, I fixed that yesterday, see https://svn.boost.org/trac/boost/ticket/7760 andhttps://github.com/boostorg/type_traits/commit/d3ac8b95c4cbc8876746b573daf3f.... Does that render remove_cv_ref more or less redundant? Also noticed in your code, how easy is it to extend to other built in arithmetic types? We should support __int128 and __float128 when available for example (|BOOST_HAS_INT128, no Config macro for __float128 yet, though Math has it's own one)|. And while you're on a roll.... can you see how to fix https://svn.boost.org/trac/boost/ticket/7544? common_type should have member ::type only when such a common type exists. But this looks to be a much cleaner approach than what we have now, as well as junking those pesky dependencies. Nice work! John.
John Maddock wrote:
Incidentally, why is our decay<> not the same as std::decay? Should it be changed to conform?
Yes, I fixed that yesterday, see
https://svn.boost.org/trac/boost/ticket/7760 and https://github.com/boostorg/type_traits/commit/d3ac8b95c4cbc8876746b573daf3f....
Does that render remove_cv_ref more or less redundant?
remove_cv_ref is not quite the same thing as decay. If you want a hypothetical common_type that respects references, you'd still need remove_cv_ref (to compute int const volatile (&) [] from int const (&) [] and int volatile (&) [] for instance.) That said, remove_cv_ref is no longer used by the common_type implementation.
Also noticed in your code, how easy is it to extend to other built in arithmetic types?
Very. I'll add char16_t, char32_t and __int128 support. And __float128 if you add a Config macro for it. :-)
And while you're on a roll.... can you see how to fix https://svn.boost.org/trac/boost/ticket/7544? common_type should have member ::type only when such a common type exists.
On C++11 or on C++03?
On C++11, it's as easy as
template
On 29/05/2015 21:18, Peter Dimov wrote:
And while you're on a roll.... can you see how to fix https://svn.boost.org/trac/boost/ticket/7544? common_type should have member ::type only when such a common type exists.
On C++11 or on C++03?
On C++11, it's as easy as
template
struct common_type { }; template<class T> struct common_type: decay<T> { };
template
struct common_type
: common_type { }; On C++03... I don't know, is there a point? It needs expression SFINAE and default template parameters for function templates and will probably not compile on most non-C++11 compilers anyway. Might be useful in principle on clang/gcc in C++03 mode, but is this an important target?
Probably not, I suspect C++11 only support is fine. The above is really neat BTW, I tried something similar in VC++ and couldn't get it to work :( John.
John Maddock wrote:
Also noticed in your code, how easy is it to extend to other built in arithmetic types? We should support __int128 and __float128 when available for example (|BOOST_HAS_INT128, no Config macro for __float128 yet, though Math has it's own one)|.
https://github.com/pdimov/common_type/commit/0e27c3a82047fc4c1d71e317aeef203...
On 30/05/2015 00:00, Peter Dimov wrote:
John Maddock wrote:
Also noticed in your code, how easy is it to extend to other built in arithmetic types? We should support __int128 and __float128 when available for example (|BOOST_HAS_INT128, no Config macro for __float128 yet, though Math has it's own one)|.
https://github.com/pdimov/common_type/commit/0e27c3a82047fc4c1d71e317aeef203...
Thanks! John
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Peter Dimov Sent: 30 May 2015 00:00 To: boost@lists.boost.org Subject: Re: [boost] [type_traits] Big changes in develop
John Maddock wrote:
Also noticed in your code, how easy is it to extend to other built in arithmetic types? We should support __int128 and __float128 when available for example (|BOOST_HAS_INT128, no Config macro for __float128 yet, though Math has it's own one)|.
https://github.com/pdimov/common_type/commit/0e27c3a82047fc4c1d71e317aeef203...
:-) Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
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...
"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
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 %
Assertion: (../lnk/snresolver.cc, line 1456) while processing ../../../boost/type_traits/common_type.hpp at line
Doesn't work for me, I see: sun.compile.c++ ../../../bin.v2/libs/type_traits/test/common_type_2_test.test/su n/debug/stdlib-sun-stlport/common_type_2_test.o 139. "/opt/solarisstudio12.4/bin/CC" +d -library=stlport4 -g -erroff=%none -errwa rn -m32 -KPIC -DBOOST_ALL_NO_LIB=1 -I"../../.." -I"libs/tt2/light/include" -c -o "../../../bin.v2/libs/type_traits/test/common_type_2_test.test/sun/debug/stdlib -sun-stlport/common_type_2_test.o" "common_type_2_test.cpp" This is with: CC: Sun C++ 5.13 SunOS_i386 2014/10/20 The original failure you reported (plus a few others) should be fixed now though. John.
participants (8)
-
Aparna Kumta
-
Edward Diener
-
Glen Fernandes
-
Ion Gaztañaga
-
John Maddock
-
Paul A. Bristow
-
Peter Dimov
-
Vicente J. Botet Escriba