aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2007-10-09 17:17:33 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-10-09 17:17:33 +0000
commitbeb1b4758749b66726f2221959408e9170f18c08 (patch)
treee16b72c03ad9ef720fbd2f981be4319e750a2f93
parent631db56b01ffa132a162090a95bf3a38608849f1 (diff)
downloadgcc-beb1b4758749b66726f2221959408e9170f18c08.zip
gcc-beb1b4758749b66726f2221959408e9170f18c08.tar.gz
gcc-beb1b4758749b66726f2221959408e9170f18c08.tar.bz2
type_traitsfwd.h (add_reference): Remove.
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. From-SVN: r129171
-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 03972e0..f09d71e 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 be73fe7..c8376ad 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 0005dfc..3c3e18a 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 63db0cb..558f110 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;