Title: [283943] trunk/Source/WTF
Revision
283943
Author
[email protected]
Date
2021-10-11 15:46:17 -0700 (Mon, 11 Oct 2021)

Log Message

Only mark needed JSONImpl::ObjectBase functions with WTF_EXPORT_PRIVATE
https://bugs.webkit.org/show_bug.cgi?id=231521

Patch by Alex Christensen <[email protected]> on 2021-10-11
Reviewed by Chris Dumez.

I'm trying some wild experiments with the linker, and when I do the weak symbol checker fails because
it is trying to export some of the inline functions at the bottom of JSONValues.h.
Moving WTF_EXPORT_PRIVATE from exporting the whole class to only exporting the non-inline functions fixes it.

* wtf/JSONValues.h:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (283942 => 283943)


--- trunk/Source/WTF/ChangeLog	2021-10-11 22:40:14 UTC (rev 283942)
+++ trunk/Source/WTF/ChangeLog	2021-10-11 22:46:17 UTC (rev 283943)
@@ -1,3 +1,16 @@
+2021-10-11  Alex Christensen  <[email protected]>
+
+        Only mark needed JSONImpl::ObjectBase functions with WTF_EXPORT_PRIVATE
+        https://bugs.webkit.org/show_bug.cgi?id=231521
+
+        Reviewed by Chris Dumez.
+
+        I'm trying some wild experiments with the linker, and when I do the weak symbol checker fails because
+        it is trying to export some of the inline functions at the bottom of JSONValues.h.
+        Moving WTF_EXPORT_PRIVATE from exporting the whole class to only exporting the non-inline functions fixes it.
+
+        * wtf/JSONValues.h:
+
 2021-10-11  Dean Jackson  <[email protected]>
 
         Disable SystemPreview in WKContentProviderRegistry

Modified: trunk/Source/WTF/wtf/JSONValues.h (283942 => 283943)


--- trunk/Source/WTF/wtf/JSONValues.h	2021-10-11 22:40:14 UTC (rev 283942)
+++ trunk/Source/WTF/wtf/JSONValues.h	2021-10-11 22:46:17 UTC (rev 283943)
@@ -160,7 +160,7 @@
     } m_value;
 };
 
-class WTF_EXPORT_PRIVATE ObjectBase : public Value {
+class ObjectBase : public Value {
 private:
     using DataStorage = HashMap<String, Ref<Value>>;
     using OrderStorage = Vector<String>;
@@ -169,9 +169,9 @@
     using iterator = DataStorage::iterator;
     using const_iterator = DataStorage::const_iterator;
 
-    RefPtr<Object> asObject() final;
+    WTF_EXPORT_PRIVATE RefPtr<Object> asObject() final;
 
-    size_t memoryCost() const final;
+    WTF_EXPORT_PRIVATE size_t memoryCost() const final;
 
 protected:
     ~ObjectBase() override;
@@ -188,15 +188,15 @@
     iterator find(const String& name);
     const_iterator find(const String& name) const;
 
-    std::optional<bool> getBoolean(const String& name) const;
-    std::optional<double> getDouble(const String& name) const;
-    std::optional<int> getInteger(const String& name) const;
-    String getString(const String& name) const;
-    RefPtr<Object> getObject(const String& name) const;
-    RefPtr<Array> getArray(const String& name) const;
-    RefPtr<Value> getValue(const String& name) const;
+    WTF_EXPORT_PRIVATE std::optional<bool> getBoolean(const String& name) const;
+    WTF_EXPORT_PRIVATE std::optional<double> getDouble(const String& name) const;
+    WTF_EXPORT_PRIVATE std::optional<int> getInteger(const String& name) const;
+    WTF_EXPORT_PRIVATE String getString(const String& name) const;
+    WTF_EXPORT_PRIVATE RefPtr<Object> getObject(const String& name) const;
+    WTF_EXPORT_PRIVATE RefPtr<Array> getArray(const String& name) const;
+    WTF_EXPORT_PRIVATE RefPtr<Value> getValue(const String& name) const;
 
-    void remove(const String& name);
+    WTF_EXPORT_PRIVATE void remove(const String& name);
 
     void writeJSON(StringBuilder& output) const final;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to