]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
type_traits (__add_lvalue_reference_helper, [...]): As an optimization, rewrite condi...
authorPaolo Carlini <paolo.carlini@oracle.com>
Sun, 15 Mar 2009 00:56:31 +0000 (00:56 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sun, 15 Mar 2009 00:56:31 +0000 (00:56 +0000)
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).

From-SVN: r144868

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/type_traits

index 68154d175b4118e160db4227ff6bfeaf5ba4770b..98bf0c5551d218560e6434975e71ba6ce61fc8a9 100644 (file)
@@ -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
index 132a92459e3d17f36c784ec66eedb40447ae0816..130d504d90302f13645433a39e51f930435d84e2 100644 (file)
@@ -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; };