Title: [206222] trunk
Revision
206222
Author
keith_mil...@apple.com
Date
2016-09-21 11:24:43 -0700 (Wed, 21 Sep 2016)

Log Message

Fix build for future versions of Clang.
https://bugs.webkit.org/show_bug.cgi?id=162346

Reviewed by Filip Pizlo.

Source/_javascript_Core:

This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.

* runtime/VM.h:
(JSC::VM::setGlobalConstRedeclarationShouldThrow):

Source/WebCore:

This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.

* Configurations/WebCore.unexp:
* dom/Exception.h:
* page/Frame.h:
* platform/cocoa/WebPlaybackSessionModelMediaElement.h:
* platform/cocoa/WebVideoFullscreenModelVideoElement.h:
(WebCore::WebVideoFullscreenModelVideoElement::videoElement):
* platform/graphics/Color.h:
* platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::rotate):
* platform/mac/WebVideoFullscreenInterfaceMac.h:
* platform/network/ParsedContentRange.h:
(WebCore::ParsedContentRange::ParsedContentRange):
(WebCore::ParsedContentRange::isValid):
* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::certificateInfo):
* platform/text/TextStream.h:
(WebCore::TextStream::increaseIndent):
(WebCore::TextStream::decreaseIndent):

Source/WTF:

This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.

* wtf/text/StringImpl.h:

Tools:

* TestWebKitAPI/Counters.cpp:
* TestWebKitAPI/Counters.h:
(DeleterCounter::deleterCount):
(DeleterCounter::TestingScope::TestingScope):
(DeleterCounter::operator()):
* TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (206221 => 206222)


--- trunk/Source/_javascript_Core/ChangeLog	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-09-21 18:24:43 UTC (rev 206222)
@@ -1,3 +1,18 @@
+2016-09-21  Keith Miller  <keith_mil...@apple.com>
+
+        Fix build for future versions of Clang.
+        https://bugs.webkit.org/show_bug.cgi?id=162346
+
+        Reviewed by Filip Pizlo.
+
+        This fixes issues with the WebCore build where inline
+        template-class function definitions are marked as exported. This
+        genereates a weak external symobl that our build does not like.
+
+
+        * runtime/VM.h:
+        (JSC::VM::setGlobalConstRedeclarationShouldThrow):
+
 2016-09-21  Chris Dumez  <cdu...@apple.com>
 
         Object.getOwnPropertyDescriptor() does not work correctly cross origin

Modified: trunk/Source/_javascript_Core/runtime/VM.h (206221 => 206222)


--- trunk/Source/_javascript_Core/runtime/VM.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/_javascript_Core/runtime/VM.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -616,7 +616,7 @@
 
     JS_EXPORT_PRIVATE void queueMicrotask(JSGlobalObject*, PassRefPtr<Microtask>);
     JS_EXPORT_PRIVATE void drainMicrotasks();
-    JS_EXPORT_PRIVATE void setGlobalConstRedeclarationShouldThrow(bool globalConstRedeclarationThrow) { m_globalConstRedeclarationShouldThrow = globalConstRedeclarationThrow; }
+    void setGlobalConstRedeclarationShouldThrow(bool globalConstRedeclarationThrow) { m_globalConstRedeclarationShouldThrow = globalConstRedeclarationThrow; }
     ALWAYS_INLINE bool globalConstRedeclarationShouldThrow() const { return m_globalConstRedeclarationShouldThrow; }
 
     inline bool shouldTriggerTermination(ExecState*);

Modified: trunk/Source/WTF/ChangeLog (206221 => 206222)


--- trunk/Source/WTF/ChangeLog	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WTF/ChangeLog	2016-09-21 18:24:43 UTC (rev 206222)
@@ -1,3 +1,16 @@
+2016-09-21  Keith Miller  <keith_mil...@apple.com>
+
+        Fix build for future versions of Clang.
+        https://bugs.webkit.org/show_bug.cgi?id=162346
+
+        Reviewed by Filip Pizlo.
+
+        This fixes issues with the WebCore build where inline
+        template-class function definitions are marked as exported. This
+        genereates a weak external symobl that our build does not like.
+
+        * wtf/text/StringImpl.h:
+
 2016-09-20  Alex Christensen  <achristen...@webkit.org>
 
         Require WTFMove for String::adopt

Modified: trunk/Source/WTF/wtf/text/StringImpl.h (206221 => 206222)


--- trunk/Source/WTF/wtf/text/StringImpl.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WTF/wtf/text/StringImpl.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -948,8 +948,8 @@
 
 bool equalIgnoringASCIICase(const StringImpl&, const StringImpl&);
 WTF_EXPORT_STRING_API bool equalIgnoringASCIICase(const StringImpl*, const StringImpl*);
-WTF_EXPORT_STRING_API bool equalIgnoringASCIICase(const StringImpl&, const char*);
-WTF_EXPORT_STRING_API bool equalIgnoringASCIICase(const StringImpl*, const char*);
+bool equalIgnoringASCIICase(const StringImpl&, const char*);
+bool equalIgnoringASCIICase(const StringImpl*, const char*);
 
 WTF_EXPORT_STRING_API bool equalIgnoringASCIICaseNonNull(const StringImpl*, const StringImpl*);
 

Modified: trunk/Source/WebCore/ChangeLog (206221 => 206222)


--- trunk/Source/WebCore/ChangeLog	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/ChangeLog	2016-09-21 18:24:43 UTC (rev 206222)
@@ -1,3 +1,33 @@
+2016-09-21  Keith Miller  <keith_mil...@apple.com>
+
+        Fix build for future versions of Clang.
+        https://bugs.webkit.org/show_bug.cgi?id=162346
+
+        Reviewed by Filip Pizlo.
+
+        This fixes issues with the WebCore build where inline
+        template-class function definitions are marked as exported. This
+        genereates a weak external symobl that our build does not like.
+
+        * Configurations/WebCore.unexp:
+        * dom/Exception.h:
+        * page/Frame.h:
+        * platform/cocoa/WebPlaybackSessionModelMediaElement.h:
+        * platform/cocoa/WebVideoFullscreenModelVideoElement.h:
+        (WebCore::WebVideoFullscreenModelVideoElement::videoElement):
+        * platform/graphics/Color.h:
+        * platform/graphics/transforms/TransformationMatrix.h:
+        (WebCore::TransformationMatrix::rotate):
+        * platform/mac/WebVideoFullscreenInterfaceMac.h:
+        * platform/network/ParsedContentRange.h:
+        (WebCore::ParsedContentRange::ParsedContentRange):
+        (WebCore::ParsedContentRange::isValid):
+        * platform/network/ResourceResponseBase.h:
+        (WebCore::ResourceResponseBase::certificateInfo):
+        * platform/text/TextStream.h:
+        (WebCore::TextStream::increaseIndent):
+        (WebCore::TextStream::decreaseIndent):
+
 2016-09-21  Chris Dumez  <cdu...@apple.com>
 
         Object.getOwnPropertyDescriptor() does not work correctly cross origin

Modified: trunk/Source/WebCore/Configurations/WebCore.unexp (206221 => 206222)


--- trunk/Source/WebCore/Configurations/WebCore.unexp	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/Configurations/WebCore.unexp	2016-09-21 18:24:43 UTC (rev 206222)
@@ -47,9 +47,12 @@
 _DDDFAScannerCreateFromCache
 _DDDFAScannerFirstResultInUnicharArray
 # Source/WebCore/page/mac/ServicesOverlayController.mm
+_DDHighlightGetLayerWithContext
+_DDHighlightGetBoundingRect
 _DDHighlightCreateWithRectsInVisibleRectWithStyleAndDirection
 _DDHighlightPointIsOnHighlight
 
+
 # Subclasses of an exported C++ class in _javascript_Core.
 
 # Source/_javascript_Core/inspector/ScriptDebugServer.h

Modified: trunk/Source/WebCore/dom/Exception.h (206221 => 206222)


--- trunk/Source/WebCore/dom/Exception.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/dom/Exception.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -34,7 +34,7 @@
 public:
     explicit Exception(ExceptionCode);
 
-    WEBCORE_EXPORT ExceptionCode code() const;
+    ExceptionCode code() const;
 
 private:
     ExceptionCode m_code;

Modified: trunk/Source/WebCore/page/Frame.h (206221 => 206222)


--- trunk/Source/WebCore/page/Frame.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/page/Frame.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -135,7 +135,7 @@
         void disconnectOwnerElement();
 
         MainFrame& mainFrame() const;
-        WEBCORE_EXPORT bool isMainFrame() const;
+        bool isMainFrame() const;
 
         Page* page() const;
         HTMLFrameOwnerElement* ownerElement() const;

Modified: trunk/Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.h (206221 => 206222)


--- trunk/Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -48,7 +48,7 @@
     }
     WEBCORE_EXPORT virtual ~WebPlaybackSessionModelMediaElement();
     WEBCORE_EXPORT void setMediaElement(HTMLMediaElement*);
-    WEBCORE_EXPORT HTMLMediaElement* mediaElement() const { return m_mediaElement.get(); }
+    HTMLMediaElement* mediaElement() const { return m_mediaElement.get(); }
 
     WEBCORE_EXPORT void handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) final;
     void updateForEventName(const WTF::AtomicString&);

Modified: trunk/Source/WebCore/platform/cocoa/WebVideoFullscreenModelVideoElement.h (206221 => 206222)


--- trunk/Source/WebCore/platform/cocoa/WebVideoFullscreenModelVideoElement.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/cocoa/WebVideoFullscreenModelVideoElement.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -54,7 +54,7 @@
     }
     WEBCORE_EXPORT virtual ~WebVideoFullscreenModelVideoElement();
     WEBCORE_EXPORT void setVideoElement(HTMLVideoElement*);
-    WEBCORE_EXPORT HTMLVideoElement* videoElement() const { return m_videoElement.get(); }
+    HTMLVideoElement* videoElement() const { return m_videoElement.get(); }
     WEBCORE_EXPORT void setVideoFullscreenLayer(PlatformLayer*, std::function<void()> completionHandler = [] { });
     WEBCORE_EXPORT void waitForPreparedForInlineThen(std::function<void()> completionHandler = [] { });
     

Modified: trunk/Source/WebCore/platform/graphics/Color.h (206221 => 206222)


--- trunk/Source/WebCore/platform/graphics/Color.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/graphics/Color.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -66,7 +66,7 @@
 RGBA32 makeUnPremultipliedRGBA(int r, int g, int b, int a);
 
 WEBCORE_EXPORT RGBA32 colorWithOverrideAlpha(RGBA32 color, float overrideAlpha);
-WEBCORE_EXPORT RGBA32 colorWithOverrideAlpha(RGBA32 color, Optional<float> overrideAlpha);
+RGBA32 colorWithOverrideAlpha(RGBA32 color, Optional<float> overrideAlpha);
 
 WEBCORE_EXPORT RGBA32 makeRGBA32FromFloats(float r, float g, float b, float a);
 RGBA32 makeRGBAFromHSLA(double h, double s, double l, double a);

Modified: trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h (206221 => 206222)


--- trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -231,7 +231,7 @@
     TransformationMatrix& scale3d(double sx, double sy, double sz);
 
     // Angle is in degrees.
-    WEBCORE_EXPORT TransformationMatrix& rotate(double d) { return rotate3d(0, 0, d); }
+    TransformationMatrix& rotate(double d) { return rotate3d(0, 0, d); }
     TransformationMatrix& rotateFromVector(double x, double y);
     WEBCORE_EXPORT TransformationMatrix& rotate3d(double rx, double ry, double rz);
     

Modified: trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.h (206221 => 206222)


--- trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -78,7 +78,7 @@
     WEBCORE_EXPORT void exitFullscreenWithoutAnimationToMode(HTMLMediaElementEnums::VideoFullscreenMode);
     WEBCORE_EXPORT void cleanupFullscreen();
     WEBCORE_EXPORT void invalidate();
-    WEBCORE_EXPORT void requestHideAndExitFullscreen() { }
+    void requestHideAndExitFullscreen() { }
     WEBCORE_EXPORT void preparedToReturnToInline(bool visible, const IntRect& inlineRect, NSWindow *parentWindow);
     WEBCORE_EXPORT void ensureControlsManager();
 
@@ -90,7 +90,7 @@
 
     bool isPlayingVideoInEnhancedFullscreen() const;
 
-    WEBCORE_EXPORT bool mayAutomaticallyShowVideoPictureInPicture() const { return false; }
+    bool mayAutomaticallyShowVideoPictureInPicture() const { return false; }
     void applicationDidBecomeActive() { }
 
     WEBCORE_EXPORT WebVideoFullscreenInterfaceMacObjC *videoFullscreenInterfaceObjC();

Modified: trunk/Source/WebCore/platform/network/ParsedContentRange.h (206221 => 206222)


--- trunk/Source/WebCore/platform/network/ParsedContentRange.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/network/ParsedContentRange.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -33,10 +33,10 @@
 class ParsedContentRange {
 public:
     WEBCORE_EXPORT explicit ParsedContentRange(const String&);
-    WEBCORE_EXPORT ParsedContentRange() { }
+    ParsedContentRange() { }
     WEBCORE_EXPORT ParsedContentRange(int64_t firstBytePosition, int64_t lastBytePosition, int64_t instanceLength);
 
-    WEBCORE_EXPORT bool isValid() const { return m_isValid; }
+    bool isValid() const { return m_isValid; }
     int64_t firstBytePosition() const { return m_firstBytePosition; }
     int64_t lastBytePosition() const { return m_lastBytePosition; }
     int64_t instanceLength() const { return m_instanceLength; }

Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.h (206221 => 206222)


--- trunk/Source/WebCore/platform/network/ResourceResponseBase.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -115,7 +115,7 @@
     WEBCORE_EXPORT String suggestedFilename() const;
 
     WEBCORE_EXPORT void includeCertificateInfo() const;
-    WEBCORE_EXPORT const Optional<CertificateInfo>& certificateInfo() const { return m_certificateInfo; };
+    const Optional<CertificateInfo>& certificateInfo() const { return m_certificateInfo; };
     
     // These functions return parsed values of the corresponding response headers.
     // NaN means that the header was not present or had invalid value.

Modified: trunk/Source/WebCore/platform/text/TextStream.h (206221 => 206222)


--- trunk/Source/WebCore/platform/text/TextStream.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Source/WebCore/platform/text/TextStream.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -77,8 +77,8 @@
     WEBCORE_EXPORT void endGroup();
     WEBCORE_EXPORT void nextLine(); // Output newline and indent.
 
-    WEBCORE_EXPORT void increaseIndent() { ++m_indent; }
-    WEBCORE_EXPORT void decreaseIndent() { --m_indent; ASSERT(m_indent >= 0); }
+    void increaseIndent() { ++m_indent; }
+    void decreaseIndent() { --m_indent; ASSERT(m_indent >= 0); }
 
     WEBCORE_EXPORT void writeIndent();
 

Modified: trunk/Tools/ChangeLog (206221 => 206222)


--- trunk/Tools/ChangeLog	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Tools/ChangeLog	2016-09-21 18:24:43 UTC (rev 206222)
@@ -1,3 +1,20 @@
+2016-09-21  Keith Miller  <keith_mil...@apple.com>
+
+        Fix build for future versions of Clang.
+        https://bugs.webkit.org/show_bug.cgi?id=162346
+
+        Reviewed by Filip Pizlo.
+
+        * TestWebKitAPI/Counters.cpp:
+        * TestWebKitAPI/Counters.h:
+        (DeleterCounter::deleterCount):
+        (DeleterCounter::TestingScope::TestingScope):
+        (DeleterCounter::operator()):
+        * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
+        (TestWebKitAPI::TEST):
+        * TestWebKitAPI/Tests/WTF/HashMap.cpp:
+        (TestWebKitAPI::TEST):
+
 2016-09-21  Alex Christensen  <achristen...@webkit.org>
 
         Prepare API tests for enabling URLParser by default

Modified: trunk/Tools/TestWebKitAPI/Counters.cpp (206221 => 206222)


--- trunk/Tools/TestWebKitAPI/Counters.cpp	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Tools/TestWebKitAPI/Counters.cpp	2016-09-21 18:24:43 UTC (rev 206222)
@@ -33,4 +33,4 @@
 unsigned ConstructorDestructorCounter::constructionCount = 0;
 unsigned ConstructorDestructorCounter::destructionCount = 0;
 
-template<> unsigned DeleterCounter<ConstructorDestructorCounter>::deleterCount = 0;
+template<> unsigned DeleterCounter<ConstructorDestructorCounter>::m_deleterCount = 0;

Modified: trunk/Tools/TestWebKitAPI/Counters.h (206221 => 206222)


--- trunk/Tools/TestWebKitAPI/Counters.h	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Tools/TestWebKitAPI/Counters.h	2016-09-21 18:24:43 UTC (rev 206222)
@@ -65,22 +65,35 @@
     ~ConstructorDestructorCounter() { destructionCount++; }
 };
 
+#if COMPILER(CLANG)
+#if __has_warning("-Wundefined-var-template")
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wundefined-var-template"
+#endif
+#endif
 template<typename T>
 struct DeleterCounter {
-    static unsigned deleterCount;
+    static unsigned m_deleterCount;
 
+    static unsigned deleterCount() { return m_deleterCount; }
+
     struct TestingScope {
         TestingScope()
         {
-            deleterCount = 0;
+            m_deleterCount = 0;
         }
     };
 
     void operator()(T* p) const
     {
-        deleterCount++;
+        m_deleterCount++;
         delete p;
     }
 };
+#if COMPILER(CLANG)
+#if __has_warning("-Wundefined-var-template")
+#pragma clang diagnostic pop
+#endif
+#endif
 
 #endif // Counters_h

Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/HashCountedSet.cpp (206221 => 206222)


--- trunk/Tools/TestWebKitAPI/Tests/WTF/HashCountedSet.cpp	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/HashCountedSet.cpp	2016-09-21 18:24:43 UTC (rev 206222)
@@ -284,7 +284,7 @@
     EXPECT_EQ(1u, ConstructorDestructorCounter::constructionCount);
     EXPECT_EQ(0u, ConstructorDestructorCounter::destructionCount);
     
-    EXPECT_EQ(0u, DeleterCounter<ConstructorDestructorCounter>::deleterCount);
+    EXPECT_EQ(0u, DeleterCounter<ConstructorDestructorCounter>::deleterCount());
     
     hashCountedSet.clear();
     
@@ -291,7 +291,7 @@
     EXPECT_EQ(1u, ConstructorDestructorCounter::constructionCount);
     EXPECT_EQ(1u, ConstructorDestructorCounter::destructionCount);
     
-    EXPECT_EQ(1u, DeleterCounter<ConstructorDestructorCounter>::deleterCount);
+    EXPECT_EQ(1u, DeleterCounter<ConstructorDestructorCounter>::deleterCount());
 }
 
 TEST(WTF_HashCountedSet, UniquePtrKey_FindUsingRawPointer)

Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp (206221 => 206222)


--- trunk/Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp	2016-09-21 18:23:33 UTC (rev 206221)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp	2016-09-21 18:24:43 UTC (rev 206222)
@@ -206,7 +206,7 @@
     EXPECT_EQ(1u, ConstructorDestructorCounter::constructionCount);
     EXPECT_EQ(0u, ConstructorDestructorCounter::destructionCount);
 
-    EXPECT_EQ(0u, DeleterCounter<ConstructorDestructorCounter>::deleterCount);
+    EXPECT_EQ(0u, DeleterCounter<ConstructorDestructorCounter>::deleterCount());
 
     map.clear();
     
@@ -213,7 +213,7 @@
     EXPECT_EQ(1u, ConstructorDestructorCounter::constructionCount);
     EXPECT_EQ(1u, ConstructorDestructorCounter::destructionCount);
 
-    EXPECT_EQ(1u, DeleterCounter<ConstructorDestructorCounter>::deleterCount);
+    EXPECT_EQ(1u, DeleterCounter<ConstructorDestructorCounter>::deleterCount());
 }
 
 TEST(WTF_HashMap, UniquePtrKey_FindUsingRawPointer)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to