Bug 278275

Summary: Build fix: Move Inspector::RemoteInspector destructor to source file for upstream clang
Product: WebKit Reporter: David Kilzer (:ddkilzer) <ddkilzer>
Component: JavaScriptCoreAssignee: David Kilzer (:ddkilzer) <ddkilzer>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=278629

David Kilzer (:ddkilzer)
Reported 2024-08-17 09:21:07 PDT
Move Inspector::RemoteInspector destructor to source file to fix upstream clang build. Example build error: In file included from WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource76.cpp:1: In file included from ./inspector/JSGlobalObjectConsoleClient.cpp:27: In file included from ./inspector/JSGlobalObjectConsoleClient.h:28: In file included from Source/JavaScriptCore/runtime/ConsoleClient.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtr.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/CanMakeWeakPtr.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/CompactRefPtrTuple.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/RefPtr.h:28: WebKitBuild/Release/usr/local/include/wtf/Ref.h:62:16: error: member access into incomplete type 'Inspector::RemoteConnectionToTarget' 62 | ptr->deref(); | ^ In file included from WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource76.cpp:1: In file included from ./inspector/JSGlobalObjectConsoleClient.cpp:27: In file included from ./inspector/JSGlobalObjectConsoleClient.h:28: In file included from Source/JavaScriptCore/runtime/ConsoleClient.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtr.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/CanMakeWeakPtr.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/CompactRefPtrTuple.h:30: WebKitBuild/Release/usr/local/include/wtf/RefPtr.h:60:47: note: in instantiation of member function 'WTF::DefaultRefDerefTraits<Inspector::RemoteConnectionToTarget>::derefIfNotNull' requested here 60 | ALWAYS_INLINE ~RefPtr() { RefDerefTraits::derefIfNotNull(PtrTraits::exchange(m_ptr, nullptr)); } | ^ In file included from WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource76.cpp:1: In file included from ./inspector/JSGlobalObjectConsoleClient.cpp:27: In file included from ./inspector/JSGlobalObjectConsoleClient.h:28: In file included from Source/JavaScriptCore/runtime/ConsoleClient.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtr.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/CanMakeWeakPtr.h:31: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtrFactory.h:31: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakRef.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/HashTraits.h:27: WebKitBuild/Release/usr/local/include/wtf/KeyValuePair.h:33:8: note: in instantiation of member function 'WTF::RefPtr<Inspector::RemoteConnectionToTarget>::~RefPtr' requested here 33 | struct KeyValuePair { | ^ In file included from WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource76.cpp:1: In file included from ./inspector/JSGlobalObjectConsoleClient.cpp:27: In file included from ./inspector/JSGlobalObjectConsoleClient.h:28: In file included from Source/JavaScriptCore/runtime/ConsoleClient.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtr.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/CanMakeWeakPtr.h:31: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtrFactory.h:31: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakRef.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/SingleThreadIntegralWrapper.h:28: In file included from WebKitBuild/Release/usr/local/include/wtf/Threading.h:39: In file included from WebKitBuild/Release/usr/local/include/wtf/HashMap.h:25: WebKitBuild/Release/usr/local/include/wtf/HashTable.h:425:17: note: in instantiation of member function 'WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTF::RefPtr<Inspector::RemoteConnectionToTarget>>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTF::RefPtr<Inspector::RemoteConnectionToTarget>>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTF::RefPtr<Inspector::RemoteConnectionToTarget>>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::deallocateTable' requested here 425 | deallocateTable(m_table); | ^ In file included from WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource76.cpp:1: In file included from ./inspector/JSGlobalObjectConsoleClient.cpp:27: In file included from ./inspector/JSGlobalObjectConsoleClient.h:28: In file included from Source/JavaScriptCore/runtime/ConsoleClient.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtr.h:29: In file included from WebKitBuild/Release/usr/local/include/wtf/CanMakeWeakPtr.h:31: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakPtrFactory.h:31: In file included from WebKitBuild/Release/usr/local/include/wtf/WeakRef.h:30: In file included from WebKitBuild/Release/usr/local/include/wtf/SingleThreadIntegralWrapper.h:28: In file included from WebKitBuild/Release/usr/local/include/wtf/Threading.h:39: WebKitBuild/Release/usr/local/include/wtf/HashMap.h:35:7: note: in instantiation of member function 'WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTF::RefPtr<Inspector::RemoteConnectionToTarget>>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTF::RefPtr<Inspector::RemoteConnectionToTarget>>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTF::RefPtr<Inspector::RemoteConnectionToTarget>>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::~HashTable' requested here 35 | class HashMap final { | ^ In file included from WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource76.cpp:3: In file included from ./inspector/JSGlobalObjectInspectorController.cpp:56: Source/JavaScriptCore/inspector/remote/RemoteInspector.h:70:7: note: forward declaration of 'Inspector::RemoteConnectionToTarget' 70 | class RemoteConnectionToTarget; | ^ 1 error generated.
Attachments
Radar WebKit Bug Importer
Comment 1 2024-08-17 09:21:24 PDT
David Kilzer (:ddkilzer)
Comment 2 2024-08-17 09:42:15 PDT
David Kilzer (:ddkilzer)
Comment 3 2024-08-17 14:51:22 PDT
Committed 282391@main (4463796): https://commits.webkit.org/282391@main Reviewed commits have been landed. Closing PR #32345 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.