WebKit doesn't build with trunk clang
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Oct 2019 17:49:03 +0000 (17:49 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Oct 2019 17:49:03 +0000 (17:49 +0000)
https://bugs.webkit.org/show_bug.cgi?id=202511

Reviewed by Anders Carlsson.

* Modules/fetch/FetchLoader.h:
* Modules/geolocation/Geolocation.h:
* Modules/indexeddb/IDBTransaction.h:
* Modules/indexeddb/shared/InProcessIDBServer.cpp:
* Modules/indexeddb/shared/InProcessIDBServer.h:
* Modules/notifications/Notification.cpp:
* Modules/notifications/Notification.h:
* platform/graphics/ca/TileController.h:
* workers/service/context/ServiceWorkerThreadProxy.h:
Fix the build by exporting destructors and custom delete operators.
I don't know why this changed, but trunk clang insists.
There are also some new warnings; this only fixes the hard errors.

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

Source/WebCore/ChangeLog
Source/WebCore/Modules/fetch/FetchLoader.h
Source/WebCore/Modules/geolocation/Geolocation.h
Source/WebCore/Modules/indexeddb/IDBTransaction.h
Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp
Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h
Source/WebCore/Modules/notifications/Notification.cpp
Source/WebCore/Modules/notifications/Notification.h
Source/WebCore/platform/graphics/ca/TileController.h
Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h

index 35ddd4e..82ea088 100644 (file)
@@ -1,5 +1,25 @@
 2019-10-03  Tim Horton  <timothy_horton@apple.com>
 
+        WebKit doesn't build with trunk clang
+        https://bugs.webkit.org/show_bug.cgi?id=202511
+
+        Reviewed by Anders Carlsson.
+
+        * Modules/fetch/FetchLoader.h:
+        * Modules/geolocation/Geolocation.h:
+        * Modules/indexeddb/IDBTransaction.h:
+        * Modules/indexeddb/shared/InProcessIDBServer.cpp:
+        * Modules/indexeddb/shared/InProcessIDBServer.h:
+        * Modules/notifications/Notification.cpp:
+        * Modules/notifications/Notification.h:
+        * platform/graphics/ca/TileController.h:
+        * workers/service/context/ServiceWorkerThreadProxy.h:
+        Fix the build by exporting destructors and custom delete operators.
+        I don't know why this changed, but trunk clang insists.
+        There are also some new warnings; this only fixes the hard errors.
+
+2019-10-03  Tim Horton  <timothy_horton@apple.com>
+
         Yet another build fix
 
         * css/typedom/TypedOMCSSImageValue.h:
index 4011b37..1e47a05 100644 (file)
@@ -43,7 +43,7 @@ class ScriptExecutionContext;
 class FetchLoader final : public ThreadableLoaderClient {
 public:
     FetchLoader(FetchLoaderClient&, FetchBodyConsumer*);
-    ~FetchLoader();
+    WEBCORE_EXPORT ~FetchLoader();
 
     RefPtr<SharedBuffer> startStreaming();
 
index 460c912..536ee41 100644 (file)
@@ -52,7 +52,7 @@ class SecurityOrigin;
 struct PositionOptions;
 
 class Geolocation final : public ScriptWrappable, public RefCounted<Geolocation>, public ActiveDOMObject {
-    WTF_MAKE_ISO_ALLOCATED(Geolocation);
+    WTF_MAKE_ISO_ALLOCATED_EXPORT(Geolocation, WEBCORE_EXPORT);
     friend class GeoNotifier;
 public:
     static Ref<Geolocation> create(Navigator&);
index 0758bd9..c9234ed 100644 (file)
@@ -66,12 +66,12 @@ class TransactionOperation;
 }
 
 class IDBTransaction final : public ThreadSafeRefCounted<IDBTransaction>, public EventTargetWithInlineData, public IDBActiveDOMObject {
-    WTF_MAKE_ISO_ALLOCATED(IDBTransaction);
+    WTF_MAKE_ISO_ALLOCATED_EXPORT(IDBTransaction, WEBCORE_EXPORT);
 public:
     static Ref<IDBTransaction> create(IDBDatabase&, const IDBTransactionInfo&);
     static Ref<IDBTransaction> create(IDBDatabase&, const IDBTransactionInfo&, IDBOpenDBRequest&);
 
-    ~IDBTransaction() final;
+    WEBCORE_EXPORT ~IDBTransaction() final;
 
     // IDBTransaction IDL
     Ref<DOMStringList> objectStoreNames() const;
index c3cf952..807a423 100644 (file)
@@ -59,6 +59,8 @@ Ref<InProcessIDBServer> InProcessIDBServer::create(PAL::SessionID sessionID, con
     return server;
 }
 
+InProcessIDBServer::~InProcessIDBServer() = default;
+
 StorageQuotaManager* InProcessIDBServer::quotaManager(const ClientOrigin& origin)
 {
     return m_quotaManagers.ensure(origin, [] {
index 0ff9754..dbfeac9 100644 (file)
@@ -59,6 +59,8 @@ public:
     WEBCORE_EXPORT static Ref<InProcessIDBServer> create(PAL::SessionID);
     WEBCORE_EXPORT static Ref<InProcessIDBServer> create(PAL::SessionID, const String& databaseDirectoryPath);
 
+    WEBCORE_EXPORT virtual ~InProcessIDBServer();
+
     WEBCORE_EXPORT IDBClient::IDBConnectionToServer& connectionToServer() const;
     IDBServer::IDBConnectionToClient& connectionToClient() const;
     IDBServer::IDBServer& server() { return m_server.get(); }
index 13c5378..f29a124 100644 (file)
@@ -74,7 +74,7 @@ Notification::Notification(Document& document, const String& title, const Option
     m_taskTimer->startOneShot(0_s);
 }
 
-Notification::~Notification()  = default;
+Notification::~Notification() = default;
 
 void Notification::show()
 {
index 4b5bcd3..7ff98d4 100644 (file)
@@ -47,7 +47,7 @@ class Document;
 class NotificationPermissionCallback;
 
 class Notification final : public RefCounted<Notification>, public ActiveDOMObject, public EventTargetWithInlineData {
-    WTF_MAKE_ISO_ALLOCATED(Notification);
+    WTF_MAKE_ISO_ALLOCATED_EXPORT(Notification, WEBCORE_EXPORT);
 public:
     using Permission = NotificationPermission;
     using Direction = NotificationDirection;
@@ -61,7 +61,7 @@ public:
     };
     static Ref<Notification> create(Document&, const String& title, const Options&);
     
-    virtual ~Notification();
+    WEBCORE_EXPORT virtual ~Notification();
 
     void show();
     void close();
index 496c483..cd5c068 100644 (file)
@@ -56,7 +56,7 @@ class TileController final : public TiledBacking {
     friend class TileGrid;
 public:
     WEBCORE_EXPORT explicit TileController(PlatformCALayer*);
-    ~TileController();
+    WEBCORE_EXPORT ~TileController();
     
     WEBCORE_EXPORT static String tileGridContainerLayerName();
     static String zoomedOutTileGridContainerLayerName();
index ddcbfdf..2768ace 100644 (file)
@@ -55,7 +55,7 @@ public:
     {
         return adoptRef(*new ServiceWorkerThreadProxy(std::forward<Args>(args)...));
     }
-    ~ServiceWorkerThreadProxy();
+    WEBCORE_EXPORT ~ServiceWorkerThreadProxy();
 
     ServiceWorkerIdentifier identifier() const { return m_serviceWorkerThread->identifier(); }
     ServiceWorkerThread& thread() { return m_serviceWorkerThread.get(); }