Make the libc++ workaround more targeted
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 25 Feb 2012 22:27:47 +0000 (22:27 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 25 Feb 2012 22:27:47 +0000 (22:27 +0000)
https://bugs.webkit.org/show_bug.cgi?id=79578
<rdar://problem/10933150>

Reviewed by Sam Weinig.

Change the std::move implementation to take a WebCore::TimerHeapReference directly so
WebCore still builds with a version of libc++ that has the right std::move function template.

* WebCorePrefix.h:
(WebCore):
(move):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@108906 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/WebCorePrefix.h

index 2e32a8b..905facf 100644 (file)
@@ -1,3 +1,18 @@
+2012-02-25  Anders Carlsson  <andersca@apple.com>
+
+        Make the libc++ workaround more targeted
+        https://bugs.webkit.org/show_bug.cgi?id=79578
+        <rdar://problem/10933150>
+
+        Reviewed by Sam Weinig.
+
+        Change the std::move implementation to take a WebCore::TimerHeapReference directly so 
+        WebCore still builds with a version of libc++ that has the right std::move function template.
+
+        * WebCorePrefix.h:
+        (WebCore):
+        (move):
+
 2012-02-25  Andreas Kling  <awesomekling@apple.com>
 
         Remove HTMLEmbedElement::insertedIntoDocument().
index 142c6ab..75fe70d 100644 (file)
 
 #include <type_traits>
 
+namespace WebCore {
+    class TimerHeapReference;
+}
+
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-template <class _Tp>
 inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_convertible<_Tp, __rv<_Tp> >::value,
-    const _Tp&
->::type
-move(const _Tp& __t)
+const WebCore::TimerHeapReference& move(const WebCore::TimerHeapReference& t)
 {
-    return __t;
+    return t;
 }
 
 _LIBCPP_END_NAMESPACE_STD