Fix more builds after r244653
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Apr 2019 19:11:59 +0000 (19:11 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Apr 2019 19:11:59 +0000 (19:11 +0000)
https://bugs.webkit.org/show_bug.cgi?id=197131

Source/JavaScriptCore:

* b3/B3Value.h:
There is an older system with libc++ headers that don't have std::conjunction.  Just use constexpr and && instead for the one use of it in WebKit.

Source/WebCore:

* svg/properties/SVGValuePropertyList.h:
Something is preventing MSVC from seeing protected constructors from subclasses.

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/b3/B3Value.h
Source/WebCore/ChangeLog
Source/WebCore/svg/properties/SVGValuePropertyList.h

index 0879784..24db2f4 100644 (file)
@@ -1,3 +1,11 @@
+2019-04-25  Alex Christensen  <achristensen@webkit.org>
+
+        Fix more builds after r244653
+        https://bugs.webkit.org/show_bug.cgi?id=197131
+
+        * b3/B3Value.h:
+        There is an older system with libc++ headers that don't have std::conjunction.  Just use constexpr and && instead for the one use of it in WebKit.
+
 2019-04-25  Basuke Suzuki  <Basuke.Suzuki@sony.com>
 
         [RemoteInspector] Fix connection and target identifier types.
index b4bd313..49f0c54 100644 (file)
@@ -334,11 +334,11 @@ public:
     // of B3 to force them to reason about the target's offset.
     typedef int32_t OffsetType;
     template<typename Int>
-    struct IsLegalOffset : std::conjunction<
-        typename std::enable_if<std::is_integral<Int>::value>::type,
-        typename std::enable_if<std::is_signed<Int>::value>::type,
-        typename std::enable_if<sizeof(Int) <= sizeof(OffsetType)>::type
-    > { };
+    struct IsLegalOffset {
+        static constexpr bool value = std::is_integral<Int>::value
+            && std::is_signed<Int>::value
+            && sizeof(Int) <= sizeof(OffsetType);
+    };
 
 protected:
     Value* cloneImpl() const;
index ae76575..3b72a39 100644 (file)
@@ -1,3 +1,11 @@
+2019-04-25  Alex Christensen  <achristensen@webkit.org>
+
+        Fix more builds after r244653
+        https://bugs.webkit.org/show_bug.cgi?id=197131
+
+        * svg/properties/SVGValuePropertyList.h:
+        Something is preventing MSVC from seeing protected constructors from subclasses.
+
 2019-04-25  Per Arne Vollan  <pvollan@apple.com>
 
         -[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:] never returns _WKWebsiteDataTypeCredentials
index 606ced6..3010c33 100644 (file)
@@ -66,7 +66,11 @@ public:
             remove(size() - 1);
     }
 
+    // Visual Studio doesn't seem to see these private constructors from subclasses.
+    // FIXME: See what it takes to remove this hack.
+#if !COMPILER(MSVC)
 protected:
+#endif
     using Base::append;
     using Base::remove;