aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-15 00:56:31 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-15 00:56:31 +0000
commitd98d2e27af7df82e17c554c35ce8c7d84882459c (patch)
treeff1fb19c14277301a7f77449c67569a7191870cc /libstdc++-v3
parent50ec87ec79728c2d055cd46174f2fd8b14e5824b (diff)
2009-03-14 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (__add_lvalue_reference_helper, __add_rvalue_reference_helper): As an optimization, rewrite condition (avoid is_function). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144868 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/std/type_traits4
2 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 68154d175b4..98bf0c5551d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/std/type_traits (__add_lvalue_reference_helper,
+ __add_rvalue_reference_helper): As an optimization, rewrite
+ condition (avoid is_function).
+
2009-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/39405
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index 132a92459e3..130d504d903 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -111,7 +111,7 @@ namespace std
{ typedef _Tp type; };
template<typename _Tp,
- bool = is_object<_Tp>::value || is_function<_Tp>::value,
+ bool = !is_reference<_Tp>::value && !is_void<_Tp>::value,
bool = is_rvalue_reference<_Tp>::value>
struct __add_lvalue_reference_helper
{ typedef _Tp type; };
@@ -131,7 +131,7 @@ namespace std
{ };
template<typename _Tp,
- bool = is_object<_Tp>::value || is_function<_Tp>::value>
+ bool = !is_reference<_Tp>::value && !is_void<_Tp>::value>
struct __add_rvalue_reference_helper
{ typedef _Tp type; };