ladybird/Libraries/LibCore
Andreas Kling 164ed80244 Meta: Enable exit-time destructor warnings for libraries
Enable -Wexit-time-destructors for all in-tree library targets and
update process-lifetime library statics so they no longer register
exit-time destructors. Long-lived caches, lookup tables, singleton
registries, and generated constants now use NeverDestroyed or leaked
references where the data is intended to live until process exit.

Update LibWeb, LibLine, and the binding generators so regenerated
sources follow the same rule instead of reintroducing destructed
statics.
2026-06-04 19:20:49 +02:00
..
Platform Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
AddressInfoVector.cpp LibCore: Move AddressInfoVector to its own file 2025-12-01 06:34:32 -05:00
AddressInfoVector.h LibCore: Move AddressInfoVector to its own file 2025-12-01 06:34:32 -05:00
AnonymousBuffer.cpp LibCore: Allow zero-size AnonymousBuffer creation 2026-04-22 09:08:39 -04:00
AnonymousBuffer.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
AnonymousBufferWindows.cpp LibCore: Allow zero-size AnonymousBuffer creation 2026-04-22 09:08:39 -04:00
ArgsParser.cpp LibCore+LibJS+LibWasm: Always use a real format string 2025-04-08 20:00:18 -04:00
ArgsParser.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
CMakeLists.txt LibCore: Keep ICU and libc time zones in sync 2026-05-20 07:26:23 -04:00
ConfigFile.cpp LibCore: Remove unused header in ConfigFile 2026-02-21 19:27:35 +01:00
ConfigFile.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
Directory.cpp AK+LibCore: Avoid double-negation of syscall error values 2025-05-10 21:19:46 -04:00
Directory.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
DirectoryEntry.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
DirectoryEntry.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
DirIterator.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
DirIterator.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
ElapsedTimer.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ElapsedTimer.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
Environment.cpp Meta+LibCore: Disable --no-undefined on FreeBSD and remove LibCore hack 2025-10-22 13:54:54 +02:00
Environment.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
Event.h LibCore: Don't require heap-allocated event to hold deferred invocation 2025-12-03 13:26:27 +01:00
EventLoop.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
EventLoop.h LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
EventLoopImplementation.cpp LibCore: Remove unused header in EventLoopImplementation 2026-02-21 19:27:35 +01:00
EventLoopImplementation.h LibCore: Expose register_process and implement for Windows event loop 2026-04-12 16:08:07 +02:00
EventLoopImplementationUnix.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
EventLoopImplementationUnix.h LibCore: Avoid UAF on the array of wake pipes when exit()ing 2026-03-02 17:06:39 -06:00
EventLoopImplementationWindows.cpp LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
EventLoopImplementationWindows.h LibCore: Expose register_process and implement for Windows event loop 2026-04-12 16:08:07 +02:00
EventReceiver.cpp LibCore: Remove unused header in EventReceiver 2026-02-21 19:27:35 +01:00
EventReceiver.h LibCore: Stop atomically ref-counting EventReceiver 2026-03-02 17:06:39 -06:00
File.cpp LibCore+RequestServer: Return size_t from system read/write functions 2025-12-01 16:29:48 +01:00
File.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
FileWatcher.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
FileWatcherInotify.cpp LibCore: Implement FileWatcher for any systems with inotify 2026-01-16 10:59:50 -07:00
FileWatcherUnimplemented.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Forward.h LibCore: Remove NetworkResponse 2026-04-30 21:15:24 +02:00
ImmutableBytes.cpp LibCore: Add immutable byte storage for mapped ranges 2026-05-16 08:13:35 +02:00
ImmutableBytes.h LibCore: Add immutable byte storage for mapped ranges 2026-05-16 08:13:35 +02:00
IOSurface.cpp LibCore: Release IOSurface creation properties 2026-05-28 10:33:38 +02:00
IOSurface.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
LocalServer.cpp LibCore: Remove unused header in LocalServer 2026-02-21 19:27:35 +01:00
LocalServer.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
LocalServerWindows.cpp LibCore+Everywhere: Make Windows's System::ioctl consistent with POSIX 2026-01-19 06:53:29 -05:00
MachPort.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
MachPort.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
MappedFile.cpp LibCore: Add immutable byte storage for mapped ranges 2026-05-16 08:13:35 +02:00
MappedFile.h LibCore: Add immutable byte storage for mapped ranges 2026-05-16 08:13:35 +02:00
MimeData.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
MimeData.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
Notifier.cpp LibCore: Remove unused header in EventLoop 2026-02-21 19:27:35 +01:00
Notifier.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
Process.cpp LibCore: Add immediate process termination helper 2026-06-04 19:20:49 +02:00
Process.h LibCore: Add immediate process termination helper 2026-06-04 19:20:49 +02:00
ProcessWindows.cpp LibCore: Add immediate process termination helper 2026-06-04 19:20:49 +02:00
Promise.h LibCore: Remove unused header in EventReceiver 2026-02-21 19:27:35 +01:00
Proxy.h LibCore: Make ProxyData::port a u16 2026-01-22 17:38:15 +01:00
ReportTime.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
ReportTime.h LibCore: Add a CORE_API annotation to log_timing_info() 2026-04-02 20:00:06 -04:00
Resource.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Resource.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
ResourceImplementation.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
ResourceImplementation.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
ResourceImplementationFile.cpp LibCore: Add S_ISDIR, S_ISREG to System.h on Windows 2025-02-12 18:42:05 -07:00
ResourceImplementationFile.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
SharedVersion.cpp LibCore: Add helpers to share arbitrary versions between processes 2026-02-05 07:28:07 -05:00
SharedVersion.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
Socket.cpp LibDNS: Run getaddrinfo on a thread pool to avoid event-loop freezes 2026-04-26 17:59:52 +02:00
Socket.h LibDNS: Run getaddrinfo on a thread pool to avoid event-loop freezes 2026-04-26 17:59:52 +02:00
SocketAddress.cpp LibCore: Define SocketAddress out-of-line to remove SocketAddressWindows 2025-12-01 06:34:32 -05:00
SocketAddress.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
SocketpairWindows.cpp LibCore/LibIPC/Meta: Stop using deprecated Winsock functions 2026-02-02 10:35:11 +01:00
SocketWindows.cpp LibDNS: Run getaddrinfo on a thread pool to avoid event-loop freezes 2026-04-26 17:59:52 +02:00
StandardPaths.cpp LibCore: Remove unused header in StandardPaths 2026-02-21 19:27:35 +01:00
StandardPaths.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
System.cpp LibCore: Add functions to reserve and commit non-backed address space 2026-05-10 16:41:42 +02:00
System.h LibCore: Add functions to reserve and commit non-backed address space 2026-05-10 16:41:42 +02:00
SystemServerTakeover.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
SystemServerTakeover.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
SystemWindows.cpp LibCore: Add functions to reserve and commit non-backed address space 2026-05-10 16:41:42 +02:00
TCPServer.cpp LibCore: Remove unused TCPServer constructor parameter 2025-08-11 16:55:25 +02:00
TCPServer.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
TCPServerWindows.cpp LibCore+Everywhere: Make Windows's System::ioctl consistent with POSIX 2026-01-19 06:53:29 -05:00
ThreadedPromise.h LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
ThreadEventQueue.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
ThreadEventQueue.h LibCore: Remove the pending jobs functionality from ThreadEventQueue 2026-03-02 17:06:39 -06:00
Timer.cpp LibCore: Remove unused Timer APIs for constructing with a parent 2025-08-11 16:55:25 +02:00
Timer.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
TimeZone.cpp LibCore: Keep ICU and libc time zones in sync 2026-05-20 07:26:23 -04:00
TimeZone.h LibCore: Keep ICU and libc time zones in sync 2026-05-20 07:26:23 -04:00
TimeZoneWatcher.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
TimeZoneWatcherMacOS.mm Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TimeZoneWatcherUnimplemented.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TimeZoneWatcherUnix.cpp LibCore: Remove unused header in TimeZoneWatcherUnix 2026-02-21 19:27:35 +01:00
TimeZoneWatcherWindows.cpp LibCore+LibWebView+UI/Qt: Support TimeZoneWatcher on Windows 2025-10-05 15:46:15 +02:00
UDPServer.cpp LibCore: Accept ReadonlyBytes/Bytes in System::send/recv 2025-12-01 08:55:33 -05:00
UDPServer.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00
UDPServerWindows.cpp LibCore+Everywhere: Make Windows's System::ioctl consistent with POSIX 2026-01-19 06:53:29 -05:00
Version.cpp LibCore: Remove LADYBIRD_GIT_VERSION environment variable usage 2025-05-15 14:02:48 +02:00
Version.h LibCore: Explicitly export symbols from LibCore 2026-02-26 18:31:57 +01:00