From 731e9ce0ada9685931b98d089743a3127166c0ce Mon Sep 17 00:00:00 2001 From: Peder Holt Date: Sat, 6 Aug 2011 18:46:43 +0000 Subject: [PATCH 1/3] Applied patch for #5745: Use native typeof support for Oracle Solaris Studio C++ compiler [SVN r73579] --- include/boost/typeof/typeof.hpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/include/boost/typeof/typeof.hpp b/include/boost/typeof/typeof.hpp index 3e91649..4d56964 100644 --- a/include/boost/typeof/typeof.hpp +++ b/include/boost/typeof/typeof.hpp @@ -155,7 +155,22 @@ # else # error native typeof is not supported # endif - +#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 #else //unknown compiler # ifndef BOOST_TYPEOF_NATIVE # ifndef BOOST_TYPEOF_EMULATION From 2334bc2bf7fc83cfadab89e66c57819a8ef11a07 Mon Sep 17 00:00:00 2001 From: Thomas Heller Date: Tue, 18 Oct 2011 16:09:48 +0000 Subject: [PATCH 2/3] added full qualification to enable_if for the member pointer operator [SVN r75050] --- include/boost/typeof/native.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 include/boost/typeof/native.hpp diff --git a/include/boost/typeof/native.hpp b/include/boost/typeof/native.hpp old mode 100755 new mode 100644 index 8197e28..70b5c8b --- a/include/boost/typeof/native.hpp +++ b/include/boost/typeof/native.hpp @@ -38,7 +38,7 @@ namespace boost { namespace type_of { #endif//BOOST_NO_SFINAE -#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD(boost::type_of::ensure_obj(expr)) +#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD((expr)) #define BOOST_TYPEOF_TPL BOOST_TYPEOF #define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \ From 9fcf6ff70e973c4101760aefbed3e961e3ab34c8 Mon Sep 17 00:00:00 2001 From: Thomas Heller Date: Tue, 18 Oct 2011 17:25:37 +0000 Subject: [PATCH 3/3] reverting accidently commited change [SVN r75052] --- include/boost/typeof/native.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/typeof/native.hpp b/include/boost/typeof/native.hpp index 70b5c8b..8197e28 100644 --- a/include/boost/typeof/native.hpp +++ b/include/boost/typeof/native.hpp @@ -38,7 +38,7 @@ namespace boost { namespace type_of { #endif//BOOST_NO_SFINAE -#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD((expr)) +#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD(boost::type_of::ensure_obj(expr)) #define BOOST_TYPEOF_TPL BOOST_TYPEOF #define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \