Source/WebCore:
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Apr 2019 18:49:20 +0000 (18:49 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Apr 2019 18:49:20 +0000 (18:49 +0000)
Fix MSVC build after r244653
https://bugs.webkit.org/show_bug.cgi?id=197131

* svg/properties/SVGValueProperty.h:
MSVC doesn't think it can access these protected constructors from subclasses.
Make the build work and investigate this later.

Source/WTF:
Fix High Sierra build after r244653
https://bugs.webkit.org/show_bug.cgi?id=197131

* wtf/StdLibExtras.h:
High Sierra thinks __cplusplus is 201406 even when using C++17.
Removing the __cplusplus check resolves the build failure on High Sierra.
We can clean up StdLibExtras more later.

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

Source/WTF/ChangeLog
Source/WTF/wtf/StdLibExtras.h
Source/WebCore/ChangeLog
Source/WebCore/svg/properties/SVGValueProperty.h

index 1c8699c..70bf0c5 100644 (file)
@@ -1,5 +1,15 @@
 2019-04-25  Alex Christensen  <achristensen@webkit.org>
 
+        Fix High Sierra build after r244653
+        https://bugs.webkit.org/show_bug.cgi?id=197131
+
+        * wtf/StdLibExtras.h:
+        High Sierra thinks __cplusplus is 201406 even when using C++17.
+        Removing the __cplusplus check resolves the build failure on High Sierra.
+        We can clean up StdLibExtras more later.
+
+2019-04-25  Alex Christensen  <achristensen@webkit.org>
+
         Start using C++17
         https://bugs.webkit.org/show_bug.cgi?id=197131
 
index 39b67e3..35ec44e 100644 (file)
@@ -527,7 +527,7 @@ template<class... _Args> struct conjunction : wtf_conjunction_impl<_Args...> { }
 
 // Provide in_place_t when not building with -std=c++17, or when building with libstdc++ 6
 // (which doesn't define the _GLIBCXX_RELEASE macro that's been introduced in libstdc++ 7).
-#if (__cplusplus < 201703L || (defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))) && (!defined(_MSVC_LANG) || _MSVC_LANG < 201703L)
+#if ((defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))) && (!defined(_MSVC_LANG) || _MSVC_LANG < 201703L)
 
 // These are inline variable for C++17 and later.
 #define __IN_PLACE_INLINE_VARIABLE static const
index ab967c5..2945759 100644 (file)
@@ -1,5 +1,14 @@
 2019-04-25  Alex Christensen  <achristensen@webkit.org>
 
+        Fix MSVC build after r244653
+        https://bugs.webkit.org/show_bug.cgi?id=197131
+
+        * svg/properties/SVGValueProperty.h:
+        MSVC doesn't think it can access these protected constructors from subclasses.
+        Make the build work and investigate this later.
+
+2019-04-25  Alex Christensen  <achristensen@webkit.org>
+
         Start using C++17
         https://bugs.webkit.org/show_bug.cgi?id=197131
 
index e2d3afb..9f31e2d 100644 (file)
@@ -46,7 +46,11 @@ public:
     // Used by the SVGAnimatedPropertyAnimator to pass m_value to SVGAnimationFunction.
     PropertyType& value() { return m_value; }
 
+    // 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
     // Create an initialized property, e.g creating an item to be appended in an SVGList.
     SVGValueProperty(const PropertyType& value)
         : m_value(value)