Fix the libc++ build.
authorweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 18 Feb 2012 21:30:58 +0000 (21:30 +0000)
committerweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 18 Feb 2012 21:30:58 +0000 (21:30 +0000)
Reviewed by Anders Carlsson.

* heap/Weak.h:
Libc++'s nullptr emulation does not allow default construction
of the nullptr_t type. Work around this with the arguably clearer
just returning nullptr.

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/heap/Weak.h

index 4ab6417..c316d31 100644 (file)
@@ -1,3 +1,14 @@
+2012-02-18  Sam Weinig  <sam@webkit.org>
+
+        Fix the libc++ build.
+
+        Reviewed by Anders Carlsson.
+
+        * heap/Weak.h:
+        Libc++'s nullptr emulation does not allow default construction
+        of the nullptr_t type. Work around this with the arguably clearer
+        just returning nullptr.
+
 2012-02-18  Filip Pizlo  <fpizlo@apple.com>
 
         DFGPropagator.cpp has too many things
index 28840a9..96fe1b5 100644 (file)
@@ -142,7 +142,7 @@ template<typename T> struct HashTraits<JSC::Weak<T> > : SimpleClassHashTraits<JS
     typedef JSC::Weak<T> StorageType;
 
     typedef std::nullptr_t EmptyValueType;
-    static EmptyValueType emptyValue() { return EmptyValueType(); }
+    static EmptyValueType emptyValue() { return nullptr; }
 
     typedef JSC::PassWeak<T> PassInType;
     static void store(PassInType value, StorageType& storage) { storage = value; }