diff options
| -rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
| -rw-r--r-- | libstdc++-v3/include/tr1/type_traits | 3 | ||||
| -rw-r--r-- | libstdc++-v3/include/tr1_impl/functional | 8 | ||||
| -rw-r--r-- | libstdc++-v3/include/tr1_impl/type_traitsfwd.h | 3 |
4 files changed, 17 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 03972e03370..f09d71ec1ce 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2007-10-09 Paolo Carlini <pcarlini@suse.de> + * include/tr1_impl/type_traitsfwd.h (add_reference): Remove. + * include/tr1/type_traits (add_reference): Add forward declaration. + * include/tr1_impl/functional (class _Mu<>): Fix. + +2007-10-09 Paolo Carlini <pcarlini@suse.de> + * include/bits/boost_concept_check.h (*AssociativeContainerConcept): Remove, unused. diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits index be73fe77460..c8376ad02aa 100644 --- a/libstdc++-v3/include/tr1/type_traits +++ b/libstdc++-v3/include/tr1/type_traits @@ -171,6 +171,9 @@ namespace tr1 }; template<typename _Tp> + struct add_reference; + + template<typename _Tp> struct __is_int_or_cref { typedef typename remove_reference<_Tp>::type __rr_Tp; diff --git a/libstdc++-v3/include/tr1_impl/functional b/libstdc++-v3/include/tr1_impl/functional index 0005dfcc0d0..3c3e18aa937 100644 --- a/libstdc++-v3/include/tr1_impl/functional +++ b/libstdc++-v3/include/tr1_impl/functional @@ -1149,7 +1149,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 __base_type; public: +#ifdef _GLIBCXX_INCLUDE_AS_CXX0X + typedef typename add_lvalue_reference<__base_type>::type type; +#else typedef typename add_reference<__base_type>::type type; +#endif }; template<typename _Tuple> @@ -1177,7 +1181,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _CVMu, typename _CVArg, typename _Tuple> struct result<_CVMu(_CVArg, _Tuple)> { +#ifdef _GLIBCXX_INCLUDE_AS_CXX0X + typedef typename add_lvalue_reference<_CVArg>::type type; +#else typedef typename add_reference<_CVArg>::type type; +#endif }; // Pick up the cv-qualifiers of the argument diff --git a/libstdc++-v3/include/tr1_impl/type_traitsfwd.h b/libstdc++-v3/include/tr1_impl/type_traitsfwd.h index 63db0cb8f6d..558f110dc4a 100644 --- a/libstdc++-v3/include/tr1_impl/type_traitsfwd.h +++ b/libstdc++-v3/include/tr1_impl/type_traitsfwd.h @@ -153,9 +153,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Tp> struct remove_reference; - template<typename _Tp> - struct add_reference; - /// @brief array modifications [4.7.3]. template<typename _Tp> struct remove_extent; |

