[cfe-commits] [libcxx] r124241 - /libcxx/trunk/include/functional

Douglas Gregor dgregor at apple.com
Tue Jan 25 15:11:15 PST 2011


Author: dgregor
Date: Tue Jan 25 17:11:15 2011
New Revision: 124241

URL: http://llvm.org/viewvc/llvm-project?rev=124241&view=rev
Log:
Remove an (incorrect) compiler workaround in the __mu function. The
workaround relied on rvalue references binding to non-function
lvalues, while the original formulation (with std::forward) does the
right thing.

Modified:
    libcxx/trunk/include/functional

Modified: libcxx/trunk/include/functional
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/functional?rev=124241&r1=124240&r2=124241&view=diff
==============================================================================
--- libcxx/trunk/include/functional (original)
+++ libcxx/trunk/include/functional Tue Jan 25 17:11:15 2011
@@ -1559,10 +1559,7 @@
 __mu(_Ti&, _Uj& __uj)
 {
     const size_t _Indx = is_placeholder<_Ti>::value - 1;
-    // compiler bug workaround
-    typename tuple_element<_Indx, _Uj>::type __t = get<_Indx>(__uj);
-    return __t;
-//    return _STD::forward<typename tuple_element<_Indx, _Uj>::type>(get<_Indx>(__uj));
+    return _STD::forward<typename tuple_element<_Indx, _Uj>::type>(get<_Indx>(__uj));
 }
 
 template <class _Ti, class _Uj>





More information about the cfe-commits mailing list