summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/tr1/type_traits3
-rw-r--r--libstdc++-v3/include/tr1_impl/functional8
-rw-r--r--libstdc++-v3/include/tr1_impl/type_traitsfwd.h3
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;
OpenPOWER on IntegriCloud