1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-09 09:34:57 +09:00
ladybird/AK
Ali Mohammad Pur a83145c751 AK: Don't assert things about active union members in StringBase
This involves yeeting the 'invalid' union member as it was not really
checked against properly anyway; now the 'invalid' state is simply
StringData*{nullptr}, which was assumed to not exist previously.

Note that this is still accessing inactive union members, but is
promising to the compiler that they're fine where they are (the provided
debug macro AK_STRINGBASE_VERIFY_LAUNDER_DEBUG makes the
would-be-UB-if-not-for-launder ops verify that the operation is correct)

Should fix the GCC build.
2025-03-27 15:58:57 +00:00
..
.clang-tidy Meta: Add basic clang-tidy configuration 2021-11-14 22:52:35 +01:00
AK+Swift.swift AK: Add an extension to construct an AK.String from a Swift.String 2024-11-19 14:32:11 -07:00
AllOf.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
AnyOf.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
Array.h AK: Add to_array() 2024-02-11 18:53:00 +01:00
Assertions.cpp AK: Add stacktrace support using the standard lib 2025-03-05 10:25:12 -07:00
Assertions.h AK: Fix ASSERT_NOT_REACHED macro when NDEBUG is not defined 2024-12-04 16:45:58 +00:00
Atomic.h LibJS: Implement tc39/proposal-atomics-microwait (Atomics.pause) 2024-11-03 08:05:58 -05:00
AtomicRefCounted.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Backtrace.h.in AK+CMake: Use the find module to find the correct backtrace(3) header 2024-07-01 10:15:24 -06:00
Badge.h AK: Use Noncopyable.h in Badge 2024-12-04 16:45:58 +00:00
Base64.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Base64.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
BigIntBase.h AK: Move generalized internals of UFixedBigIntDivision to BigIntBase 2024-03-25 14:26:29 -06:00
BinaryHeap.h AK: Introduce IntrusiveBinaryHeap and reimplement BinaryHeap using it 2024-02-25 17:24:36 -07:00
BinarySearch.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
BitCast.h AK: Use bit_cast in SIMDExtras.h/AK::Detail::byte_reverse_impl 2024-07-17 09:56:13 -06:00
Bitmap.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
BitmapView.h AK: Define operator== for BitmapView 2025-01-04 20:32:35 +01:00
BitStream.h AK: Add BigEndianInputBitStream::bits_until_next_byte_boundary() 2024-02-12 14:08:56 +01:00
BufferedStream.h AK: Don't move trivially copyable types in BufferedStream methods 2024-04-30 13:22:56 +02:00
BuiltinWrappers.h AK: Fix doc comment for bit_scan_forward 2023-10-11 14:36:48 -04:00
BumpAllocator.h AK: Fix BumpAllocator.h compilation errors on Windows 2024-12-14 16:12:12 +01:00
ByteBuffer.h AK: Use simdutf when appending UTF-16 to StringBuilder 2024-10-30 10:28:24 +01:00
ByteReader.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
ByteString.cpp AK: Remove DeprecatedStringCodePointIterator 2024-11-14 23:06:42 +01:00
ByteString.h AK: Add default value for ByteString::find_any_of::direction 2025-02-06 15:15:16 -07:00
CharacterTypes.h AK: Add is_ascii_c0_control_or_space 2024-08-05 17:21:26 +01:00
Checked.h AK/Checked: Dont verify overflow bit in lvalue operations 2025-02-25 11:20:13 +00:00
CheckedFormatString.h AK: Enable format string checking in Clang builds 2024-05-29 13:34:15 -06:00
CircularBuffer.cpp AK: Use hashing to accelerate searching a CircularBuffer 2023-07-06 15:06:20 +01:00
CircularBuffer.h AK: Use hashing to accelerate searching a CircularBuffer 2023-07-06 15:06:20 +01:00
CircularQueue.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
CMakeLists.txt CMake: Remove unused CMake functions 2025-03-20 11:36:09 -06:00
Concepts.h AK: Fix the JsonArray constructor for accepting an iterable type 2025-03-04 15:33:39 -05:00
ConstrainedStream.cpp AK: Move ConstrainedStream from LibWasm and limit discarding 2023-03-21 10:25:13 +01:00
ConstrainedStream.h AK: Add remaining method to ConstrainedStream 2024-07-09 14:22:31 +02:00
CopyOnWrite.h AK+LibURL: Move CopyOnWrite<T> from LibURL to AK 2024-09-10 13:51:28 +02:00
CountingStream.cpp AK: Add a Stream wrapper that counts read bytes 2023-03-21 10:25:13 +01:00
CountingStream.h AK: Add a Stream wrapper that counts read bytes 2023-03-21 10:25:13 +01:00
COWVector.h AK: Add a const iterator for COWVector 2025-01-17 10:13:51 +01:00
DateConstants.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
Debug.h.in AK: Don't assert things about active union members in StringBase 2025-03-27 15:58:57 +00:00
DefaultDelete.h AK+Everywhere: Move custom deleter capability to OwnPtr 2022-12-17 16:00:08 -05:00
Demangle.h AK: Stub out AK::demangle on Windows 2025-01-05 15:02:32 +00:00
DeprecatedFlyString.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
DeprecatedFlyString.h AK: Pass (Deprecated)FlyString::is_one_of arguments by reference 2024-10-27 12:03:04 -04:00
Diagnostics.h AK: Add a helper macro to temporarily ignore diagnostics with _Pragma() 2022-12-06 21:31:00 +00:00
DisjointChunks.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
DistinctNumeric.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
DOSPackedTime.cpp Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
DOSPackedTime.h Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
DoublyLinkedList.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Endian.h AK: Support non-native endianness in Utf16View 2024-07-18 19:43:57 +02:00
EnumBits.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Enumerate.h AK: Introduce AK::enumerate 2024-03-23 09:02:58 -04:00
Error.cpp AK: Add Error::from_windows_error(void) 2025-02-05 19:27:47 -07:00
Error.h AK: Add Error::from_windows_error(void) 2025-02-05 19:27:47 -07:00
Find.h AK: Add missing using statements to Find.h 2024-05-06 17:32:19 +02:00
FixedArray.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
FixedPoint.h AK: Stop exporting AK::FixedPoint into the global namespace 2024-07-18 09:43:38 +01:00
FloatingPoint.h Meta: Update my email address everywhere 2024-11-01 12:14:53 +01:00
FloatingPointStringConversions.cpp AK: Implement floating-point conversions for big-endian 2024-07-05 09:47:08 -06:00
FloatingPointStringConversions.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
FlyString.cpp AK: Don't assert things about active union members in StringBase 2025-03-27 15:58:57 +00:00
FlyString.h AK: Don't assert things about active union members in StringBase 2025-03-27 15:58:57 +00:00
Format.cpp AK: Show executable name in rich debug format on Windows 2025-01-13 20:05:05 -07:00
Format.h AK: Print a more useful error message when a MUST(...) fails 2024-12-02 20:07:38 +01:00
Forward.h AK: Remove DeprecatedStringCodePointIterator 2024-11-14 23:06:42 +01:00
Function.h AK: Support storing blocks in AK::Function 2025-03-18 17:15:08 -06:00
GenericLexer.cpp AK: Avoid returning null StringViews instead of empty views 2024-11-05 14:01:45 +00:00
GenericLexer.h AK: Avoid returning null StringViews instead of empty views 2024-11-05 14:01:45 +00:00
GenericShorthands.h AK: Add first_is_equal_to_all_of() 2025-03-18 21:55:06 +01:00
HashFunctions.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
HashMap.h AK: Verify that HashMap is not empty in take_first 2024-12-09 12:31:16 +01:00
HashTable.h Meta: Update my email address everywhere 2024-11-01 12:14:53 +01:00
Hex.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Hex.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
IDAllocator.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
InsertionSort.h AK: Fix InsertionSort to respect specified bounds 2024-12-06 06:44:27 +00:00
IntegralMath.h AK: Fix off by one error in integral ceil_log2() 2024-05-21 09:31:17 +02:00
IntrusiveDetails.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
IntrusiveList.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
IntrusiveListRelaxedConst.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
IntrusiveRedBlackTree.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
IPv4Address.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
IPv6Address.h AK: Disable implicit conversion from char* -> ipv4 -> ipv6 2024-11-20 21:37:58 +01:00
IterationDecision.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Iterator.h AK+LibJS: Add [[nodiscard]] to operator* in common types 2024-10-25 09:15:28 +02:00
JsonArray.cpp AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonArray.h AK: Fix the JsonArray constructor for accepting an iterable type 2025-03-04 15:33:39 -05:00
JsonArraySerializer.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
JsonObject.cpp AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonObject.h AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonObjectSerializer.h AK+Everywhere: Store JSON strings as String 2025-02-20 19:27:51 -05:00
JsonParser.cpp AK: Disallow construction of JsonParser 2025-03-20 10:50:24 +01:00
JsonParser.h AK: Disallow construction of JsonParser 2025-03-20 10:50:24 +01:00
JsonValue.cpp AK: Disallow construction of JsonParser 2025-03-20 10:50:24 +01:00
JsonValue.h AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
kmalloc.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
kmalloc.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
LEB128.h AK/LEB128: Speed up reading unsigned LEB128 values 2024-07-27 08:19:51 +02:00
LexicalPath.cpp AK: Add LexicalPath::is_root() 2024-11-19 22:07:01 -07:00
LexicalPath.h AK: Add LexicalPath::is_root() 2024-11-19 22:07:01 -07:00
LexicalPathWindows.cpp AK: Don't crash on empty extension in LexicalPath::has_extension 2025-02-17 14:57:00 +01:00
LsanSuppressions.h LibGfx+LibWeb: Replace remaining OpenType implementation with Skia 2024-09-05 19:21:52 +02:00
Math.h AK: Implement floating-point conversions for big-endian 2024-07-05 09:47:08 -06:00
MaybeOwned.h AK: Allow creating a MaybeOwned<Superclass> from a MaybeOwned<Subclass> 2024-03-25 20:35:00 +01:00
MemMem.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Memory.h AK: Remove fast_u32_xxx apis from Memory.h 2025-03-03 15:58:27 +01:00
MemoryStream.cpp AK: Use an enum to specify the open mode instead of a bool 2023-11-08 18:19:34 +01:00
MemoryStream.h AK: Use an enum to specify the open mode instead of a bool 2023-11-08 18:19:34 +01:00
NeverDestroyed.h AK: Include missing StdLibExtras from NeverDestroyed 2024-11-19 14:32:11 -07:00
NoAllocationGuard.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
Noncopyable.h AK: Move "conditional xtor" pattern into a macro 2024-10-31 23:26:22 +01:00
NonnullOwnPtr.h AK: Remove clang-specific templates 2024-12-12 15:12:27 -07:00
NonnullRawPtr.h AK: Allow NonnullRawPtr to be used in constant expressions 2024-12-04 16:45:58 +00:00
NonnullRefPtr.h AK: Remove clang-specific templates 2024-12-12 15:12:27 -07:00
NumberFormat.cpp AK+LibJS: Don't use Temporal for console.time() and console.timeLog() 2024-11-18 17:46:41 -05:00
NumberFormat.h AK+LibJS: Don't use Temporal for console.time() and console.timeLog() 2024-11-18 17:46:41 -05:00
NumericLimits.h AK: Add 16-bit float type 2024-11-10 14:48:20 -07:00
Optional.h AK: Add ability to check Optional equality with an OptionalNone 2025-03-15 07:39:03 -04:00
OptionParser.cpp AK: Update OptionParser::m_arg_index by substracting skipped args 2024-02-06 00:08:30 +01:00
OptionParser.h Userland+AK: Stop using getopt() for ArgsParser 2023-02-28 15:52:24 +03:30
OwnPtr.h AK+LibJS: Add [[nodiscard]] to operator* in common types 2024-10-25 09:15:28 +02:00
Platform.h AK: Add feature detection for -fblocks and -fobjc-arc 2025-03-18 17:15:08 -06:00
Queue.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
QuickSort.h AK: Remove redundant condition from Quick Sort 2024-12-22 12:33:41 +01:00
Random.cpp Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
Random.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
RecursionDecision.h AK: Add missing include in RecursionDecision.h 2023-08-18 08:58:51 +03:30
RedBlackTree.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
RefCounted.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
RefPtr.h AK+LibJS: Add [[nodiscard]] to operator* in common types 2024-10-25 09:15:28 +02:00
Result.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
ReverseIterator.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ScopedValueRollback.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
ScopeGuard.h AK: Make ScopeGuard and ArmedScopeGuard [[nodiscard]] 2025-01-09 18:36:34 +00:00
ScopeLogger.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SegmentedVector.h AK+LibWeb: Use segmented vector to store commands in RecordingPainter 2023-12-30 23:02:46 +01:00
SIMD.h AK: Add introspection helpers to SIMD.h 2024-07-17 09:56:13 -06:00
SIMDExtras.h AK/SIMDExtras: Fix masking logic in shuffle_or_0 2024-07-27 15:02:37 +02:00
SIMDMath.h AK: Remove the SIMD version of rsqrt() too, for good measure 2024-01-30 10:02:33 +01:00
Singleton.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
SinglyLinkedList.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
SinglyLinkedListSizePolicy.h AK: Combine SinglyLinkedList and SinglyLinkedListWithCount 2023-01-02 20:13:24 +00:00
SipHash.cpp Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
SipHash.h AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
SourceGenerator.h AK: Allow escaping of keys in SourceGenerator 2024-07-09 11:21:07 +02:00
SourceLocation.h AK: Add copy assignment operator for SourceLocation 2023-09-24 14:55:32 +02:00
Span.h AK: Allow comparing spans of different constness 2024-08-13 14:11:05 +02:00
Stack.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
StackInfo.cpp AK: Use getrlimit() to find the correct main thread stack size on macOS 2024-11-10 19:12:59 +01:00
StackInfo.h AK: Use __builtin_frame_address to find current stack depth remaining 2023-07-01 07:03:11 +02:00
StdLibExtraDetails.h AK: Support storing blocks in AK::Function 2025-03-18 17:15:08 -06:00
StdLibExtras.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
Stream.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Stream.h AK: Add a Stream::write_until_depleted overload for string types 2024-04-04 11:23:21 +02:00
String.cpp AK: Inline more of the String and FlyString member functions 2025-03-26 02:20:11 +00:00
String.h AK: Don't assert things about active union members in StringBase 2025-03-27 15:58:57 +00:00
StringBase.cpp AK: Don't assert things about active union members in StringBase 2025-03-27 15:58:57 +00:00
StringBase.h AK: Don't assert things about active union members in StringBase 2025-03-27 15:58:57 +00:00
StringBuilder.cpp AK: Remove default parameter from StringBuilder's constructor 2025-01-18 17:56:40 -05:00
StringBuilder.h AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
StringData.h Revert "AK: Don't try to free(UINTPTR_MAX) in StringData::delete()" 2025-03-27 15:58:57 +00:00
StringFloatingPointConversions.cpp AK+LibCrypto: Delete 64x64 wide multiplication workarounds 2023-03-04 22:10:03 -07:00
StringFloatingPointConversions.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
StringHash.h AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
StringImpl.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
StringImpl.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
StringUtils.cpp Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
StringUtils.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
StringView.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
StringView.h AK: Use StringView as its own peek type 2024-12-04 01:58:22 +01:00
Swift.h AK: Add workaround for older Xcode versions in Swift.h 2024-11-26 11:00:48 +01:00
TemporaryChange.h AK: Fully qualify use of move in TemporaryChange 2025-03-22 17:27:45 +01:00
Time.cpp AK: Introduce UnixDateTime::from_iso8601_week 2025-02-22 19:09:41 +00:00
Time.h AK: Add a 'weeks_in_year' helper 2025-02-22 19:09:41 +00:00
Traits.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Trie.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
Try.h AK+LibJS: Allow {TRY,MUST}{,_OR_THROW_OOM} on list-initializers 2024-12-04 16:45:58 +00:00
Tuple.h AK: Make IndexSequence use size_t 2024-02-11 18:53:00 +01:00
TypeCasts.h AK: Add cast using objective-c __bridge qualifier 2025-03-18 17:15:08 -06:00
TypedTransfer.h Everywhere: Stop shoving things into ::std and mentioning them as such 2022-12-14 11:44:32 +01:00
TypeList.h AK: Make IndexSequence use size_t 2024-02-11 18:53:00 +01:00
Types.h LibCore: Consistently treat file descriptors as handles on Windows 2025-02-05 19:27:47 -07:00
UFixedBigInt.h Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
UFixedBigIntDivision.h AK: Move generalized internals of UFixedBigIntDivision to BigIntBase 2024-03-25 14:26:29 -06:00
UnicodeUtils.h AK: Use simdutf when appending UTF-16 to StringBuilder 2024-10-30 10:28:24 +01:00
Utf8View.cpp AK: Add Utf8View::contains_any_of() 2025-02-04 08:49:25 +00:00
Utf8View.h AK: Add Utf8View::contains_any_of() 2025-02-04 08:49:25 +00:00
Utf16View.cpp AK+Meta: Update simdutf to version 5.5.0 2024-09-19 15:48:57 -04:00
Utf16View.h AK: Use simdutf when appending UTF-16 to StringBuilder 2024-10-30 10:28:24 +01:00
Utf32View.cpp AK: Add a comparison operator for Utf32View 2024-10-20 08:50:01 +02:00
Utf32View.h AK: Add a comparison operator for Utf32View 2024-10-20 08:50:01 +02:00
Variant.h AK: Add Flatten Variant helper 2024-12-06 13:10:27 +00:00
Vector.h AK: Add Vector::get(index) convenience function 2024-12-13 10:00:16 +01:00
Weakable.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
WeakPtr.h AK: Define hash() and equals() for WeakPtr 2025-02-11 10:22:23 +01:00
Windows.h AK: Simplify usage of windows.h and winsock2.h 2025-01-02 10:17:51 -07:00