serenity/AK
Ali Mohammad Pur 7976e1852c AK: Ensure unions with bitfield structs actually have correct sizes
The fun pattern of `union { struct { u32 a : 1; u64 b : 7; }; u8 x; }`
produces complete garbage on windows, this commit fixes the two
instances of those that exist in AK.
This commit also makes sure that the generated unions have the correct
size (whereas FloatExtractor<f32> previously did not!) by adding some
nice static_asserts.
2023-11-01 09:10:38 +03:30
..
.clang-tidy
AllOf.h
AnyOf.h
ArbitrarySizedEnum.h AK: Patch ArbitrarySizedEnum operators for missing constructor 2023-01-18 22:58:42 +01:00
Array.h AK: Let Array::from_span take a readonly Span 2023-07-09 15:40:41 +01:00
Assertions.cpp AK: Disable assertion output colors on windows 2023-10-29 07:40:35 +01:00
Assertions.h AK: Always use our assertion failure method, and add backtrace to it 2023-09-01 11:50:47 +02:00
Atomic.h AK: Fix volatile qualifier in Atomic<T*>::ptr() 2023-08-18 16:20:13 +02:00
AtomicRefCounted.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Badge.h
Base64.cpp AK: Include Array.h in Base64.h 2023-05-18 22:49:02 +02:00
Base64.h AK: Include Array.h in Base64.h 2023-05-18 22:49:02 +02:00
BigIntBase.h Everywhere: Remove 'clang-format off' comments that are no longer needed 2023-07-08 10:32:56 +01:00
BinaryBufferWriter.h Everywhere: Remove unnecessary AK and Detail namespace scoping 2022-12-09 11:25:30 +00:00
BinaryHeap.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
BinarySearch.h
BitCast.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
Bitmap.h AK: Replace C-style casts 2023-03-09 21:43:54 +01:00
BitmapView.h AK: Fix one-off error in BitmapView::find_first and find_one_anywhere 2023-10-11 15:58:16 +02:00
BitStream.h AK: Account for bit position 8 in bit stream alignment 2023-05-18 22:23:15 +02:00
BufferedStream.h Revert "AK: Refill a BufferedStream when it has less than the 2023-09-11 21:38:24 -04:00
BuiltinWrappers.h AK: Fix doc comment for bit_scan_forward 2023-10-11 14:36:48 -04:00
BumpAllocator.h AK: Replace C-style casts 2023-03-09 21:43:54 +01:00
ByteBuffer.h AK: Silence false positive -Warray-bounds warning 2023-05-15 07:00:29 +02:00
ByteReader.h
CharacterTypes.h
Checked.h LibAudio: Prevent overflows during prediction 2023-09-09 11:23:57 -06:00
CheckedFormatString.h AK: Bake CLion IDE check into AK_COMPILER_CLANG 2023-04-08 13:43:25 +02: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
CircularDeque.h
CircularQueue.h AK: Remove CircularDuplexStream 2023-01-14 12:05:52 -05:00
CMakeLists.txt AK: Implement slugify function for URL slug generation 2023-10-30 10:39:59 +00:00
Complex.h AK: Remove conditional noexcept from Complex 2023-06-01 06:26:08 +02:00
Concepts.h AK: Add a CallableAs<R, Args...> concept 2023-07-08 23:13:00 +01:00
ConstrainedStream.cpp AK: Move ConstrainedStream from LibWasm and limit discarding 2023-03-21 10:25:13 +01:00
ConstrainedStream.h AK: Move ConstrainedStream from LibWasm and limit discarding 2023-03-21 10:25:13 +01: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
DateConstants.h
Debug.h.in LibPDF: Add a CFF_DEBUG toggle 2023-10-15 07:14:29 +02:00
DefaultDelete.h AK+Everywhere: Move custom deleter capability to OwnPtr 2022-12-17 16:00:08 -05:00
Demangle.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
DeprecatedFlyString.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
DeprecatedFlyString.h Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_case 2023-03-10 13:15:44 +01:00
DeprecatedString.cpp AK: Avoid nullptr deref in DeprecatedString(DeprecatedFlyString const&) 2023-10-16 09:06:15 -04:00
DeprecatedString.h AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
Diagnostics.h AK: Add a helper macro to temporarily ignore diagnostics with _Pragma() 2022-12-06 21:31:00 +00:00
DisjointChunks.h LibRegex: Generate a search tree when patterns would benefit from it 2023-07-31 05:31:33 +02:00
DistinctNumeric.h AK: Add helper to make DistinctNumeric types comparable to enums 2023-09-22 18:39:37 -06: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 Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
Endian.h AK: Add a 'HostIsLittleEndian' constant and use it instead of BYTE_ORDER 2023-08-21 13:39:32 +03:30
EnumBits.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Error.cpp AK: Add a new method to propagate errno while printing errors in Kernel 2023-02-10 09:14:20 +00:00
Error.h AK: Mark Error nodiscard 2023-07-12 17:03:07 +02:00
Find.h AK: Use Iterator's trait when comparing a value 2023-08-23 20:21:09 +02:00
FixedArray.h AK: Make FixedArray movable 2023-07-21 10:47:34 -06:00
FixedPoint.h AK: Make FixedPoint work on platforms without __int128 2023-09-06 07:17:03 -06:00
FixedStringBuffer.h AK+Kernel: Introduce StdLib function to copy FixedStringBuffer to user 2023-08-25 11:51:52 +02:00
FloatingPoint.h AK: Ensure unions with bitfield structs actually have correct sizes 2023-11-01 09:10:38 +03:30
FloatingPointStringConversions.cpp AK: Add a 'HostIsLittleEndian' constant and use it instead of BYTE_ORDER 2023-08-21 13:39:32 +03:30
FloatingPointStringConversions.h
FlyString.cpp AK: Add FlyString::operator<=>(FlyString const&) 2023-09-06 11:29:03 -04:00
FlyString.h AK: Add FlyString::operator<=>(FlyString const&) 2023-09-06 11:29:03 -04:00
Format.cpp AK: Explicitly instantiate FormatBuilder::put_f32_or_f64<{f32,f64}> 2023-10-31 11:31:17 +03:30
Format.h AK+LibPDF: Make Format print floats in a roundtrip-safe way by default 2023-10-31 09:12:35 +03:30
Forward.h AK: Move parts for searching CircularBuffer into a new class 2023-07-06 15:06:20 +01:00
FPControl.h AK: Ensure unions with bitfield structs actually have correct sizes 2023-11-01 09:10:38 +03:30
Function.h AK: Use outline Function storage if alignment requirements are not met 2023-09-22 22:10:16 +03:30
FuzzyMatch.cpp AK/FuzzyMatch: Check every match for neighbor character bonuses 2023-10-06 22:09:18 +02:00
FuzzyMatch.h
GenericLexer.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
GenericLexer.h AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
GenericShorthands.h AK: Mark generic shorthand functions as constexpr 2023-06-01 06:25:00 +02:00
HashFunctions.h AK: Remove unused rehash_for_collision 2023-02-17 22:29:51 -07:00
HashMap.h AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
HashTable.h AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
Hex.cpp AK: Disallow returning of string literals for errors in kernel code 2023-02-10 09:14:20 +00:00
Hex.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
IDAllocator.h AK: Allow specifying a minimum value for IDs returned by IDAllocator 2023-04-07 16:02:22 +02:00
InsertionSort.h AK: Introduce cutoff to insertion sort for Quicksort 2022-12-12 15:03:57 +00:00
IntegralMath.h AK: Use correct type when calculating integral exp2() 2023-10-27 21:59:44 -04:00
IntrusiveDetails.h
IntrusiveList.h AK: Accomodate always-32-bit data member pointers in IntrusiveList 2023-05-02 17:46:39 +03:30
IntrusiveListRelaxedConst.h
IntrusiveRedBlackTree.h Everywhere: Remove unnecessary AK and Detail namespace scoping 2022-12-09 11:25:30 +00:00
IPv4Address.h AK: Use secure SipHash-4-8 for IP addresses 2023-10-01 11:06:36 +03:30
IPv6Address.h AK: Use secure SipHash-4-8 for IP addresses 2023-10-01 11:06:36 +03:30
IterationDecision.h
Iterator.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
JsonArray.h AK: Remove must_set() from JsonArray 2023-05-09 06:21:34 +02:00
JsonArraySerializer.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
JsonObject.cpp AK: Make all HashMap copy-constructs explicit 2023-05-19 22:33:57 +02:00
JsonObject.h AK: Remove JsonObject::get_deprecated() and ::get_ptr() :^) 2023-02-03 07:19:52 -05:00
JsonObjectSerializer.h Everywhere: Remove string.h include from AK/Traits.h and resolve fallout 2023-01-21 10:43:59 -07:00
JsonParser.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
JsonParser.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
JsonPath.cpp AK: Replace uses of JsonObject::get_deprecated()/get_ptr() 2023-01-17 19:52:52 -05:00
JsonPath.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
JsonValue.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
JsonValue.h AK: Add JsonValue::{is,as}_integer() methods 2023-01-17 19:52:52 -05:00
kmalloc.cpp AK: Provide a fallback definition for std::nothrow 2023-01-29 19:16:44 -07:00
kmalloc.h
kstdio.h
LEB128.h Everywhere: Remove the AK:: qualifier from Stream usages 2023-02-13 00:50:07 +00:00
LexicalPath.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
LexicalPath.h AK: Add argument to LexicalPath::basename to strip the extension 2023-07-30 17:50:44 -06:00
MACAddress.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
Math.h AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
MaybeOwned.h AK: Simplify MaybeOwned constructor 2023-06-23 01:34:27 +02:00
MemMem.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Memory.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
MemoryStream.cpp AK: Make writability violation of FixedMemoryStream non-fatal 2023-09-27 03:22:56 +02:00
MemoryStream.h AK: Add FixedMemoryStream methods for reading values "in place" 2023-10-10 14:36:25 +02:00
NeverDestroyed.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
NoAllocationGuard.h AK: Restrict include of LibC header 2023-01-07 10:01:37 -07:00
Noncopyable.h AK: Introduce AK_MAKE_DEFAULT_MOVABLE macro for easier default impls 2023-06-18 08:47:51 +01:00
NonnullOwnPtr.h AK: Make Formatter for NonnullOwnPtr<T> format the T 2023-08-25 20:10:47 +02:00
NonnullRefPtr.h AK: Work around Xcode 15 beta mishandling trailing requires clauses 2023-07-12 15:43:18 +01:00
NumberFormat.cpp AK: Allow human_readable_size_long to use a thousands separator 2023-04-11 13:03:30 +02:00
NumberFormat.h AK: Allow human_readable_size_long to use a thousands separator 2023-04-11 13:03:30 +02:00
NumericLimits.h AK+LibJS: Make Number.MIN_VALUE a denormal 2023-07-02 21:19:09 +01:00
Optional.h AK: Export the OptionalNone helper structure 2023-01-16 10:12:37 +00:00
OptionParser.cpp Userland+AK: Stop using getopt() for ArgsParser 2023-02-28 15:52:24 +03:30
OptionParser.h Userland+AK: Stop using getopt() for ArgsParser 2023-02-28 15:52:24 +03:30
OwnPtr.h AK: Don't refer to AK::swap() as ::swap() 2023-04-28 05:56:04 +02:00
Platform.h AK: Defined _COARSE clocks as the normal ones on Haiku 2023-09-17 13:38:12 -06:00
PrintfImplementation.h AK: Implement printf's "period without precision value" correctly 2023-10-06 08:21:18 +02:00
Ptr32.h
Queue.h AK: Add Queue::tail() 2023-03-14 16:52:44 +01:00
QuickSelect.h AK: Add thresholds to quickselect_inline and Statistics::Median 2023-02-03 19:04:15 +01:00
QuickSort.h AK: Change quicksort comments to standard // style 2022-12-12 15:03:57 +00:00
Random.cpp
Random.h AK: Implement fill_with_random() for Haiku 2023-09-17 13:38:12 -06:00
RecursionDecision.h AK: Add missing include in RecursionDecision.h 2023-08-18 08:58:51 +03:30
RedBlackTree.h Everywhere: Run spellcheck on all documentation 2023-05-07 01:05:09 +02:00
RefCounted.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
RefCountForwarder.h
RefPtr.h AK: Work around Xcode 15 beta mishandling trailing requires clauses 2023-07-12 15:43:18 +01:00
Result.h
ReverseIterator.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
ScopedValueRollback.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
ScopeGuard.h
ScopeLogger.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
SIMD.h
SIMDExtras.h LibWasm: Implement a few SIMD instructions 2023-08-21 13:39:32 +03:30
SIMDMath.h AK+readelf: Issue error when using ARCH(arch) with nonexistent arch 2023-03-03 21:53:41 +01:00
Singleton.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
SinglyLinkedList.h AK+Kernel: Unify Traits<T>::equals()'s argument order on different types 2023-08-23 20:21:09 +02:00
SinglyLinkedListSizePolicy.h AK: Combine SinglyLinkedList and SinglyLinkedListWithCount 2023-01-02 20:13:24 +00:00
SipHash.cpp AK: Make SipHash not depend on size_t bit length 2023-10-27 05:57:18 +03:30
SipHash.h AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
Slugify.cpp AK: Implement slugify function for URL slug generation 2023-10-30 10:39:59 +00:00
Slugify.h AK: Implement slugify function for URL slug generation 2023-10-30 10:39:59 +00:00
SourceGenerator.h AK: Make SourceGenerator::fork() infallible 2023-08-22 13:08:24 +02:00
SourceLocation.h AK: Add copy assignment operator for SourceLocation 2023-09-24 14:55:32 +02:00
Span.h AK: Add Span<T>::matching_prefix_length 2023-07-06 15:06:20 +01:00
Stack.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
StackInfo.cpp AK: Use the Linux implementation of StackInfo() on Haiku 2023-09-17 13:38:12 -06:00
StackInfo.h AK: Use __builtin_frame_address to find current stack depth remaining 2023-07-01 07:03:11 +02:00
Statistics.h AK: Allow Statistics to be used with any container type 2023-08-16 01:10:35 +02:00
StdLibExtraDetails.h AK: Add InvokeResult 2023-09-09 11:21:15 -06:00
StdLibExtras.h AK: Move taint_for_optimizer to StdLibExtras.h 2023-04-30 06:05:54 +02:00
Stream.cpp AK: Rename Stream::format() to Stream::write_formatted() 2023-04-25 07:30:16 +01:00
Stream.h AK: Rename Stream::format() to Stream::write_formatted() 2023-04-25 07:30:16 +01:00
String.cpp AK: Add case-insensitive hashing for the new String classes 2023-09-06 11:29:03 -04:00
String.h AK: Add case-insensitive hashing for the new String classes 2023-09-06 11:29:03 -04:00
StringBuilder.cpp AK: Implement string formatting for FixedStringBuffers 2023-08-12 11:48:48 -06:00
StringBuilder.h AK: Implement string formatting for FixedStringBuffers 2023-08-12 11:48:48 -06:00
StringFloatingPointConversions.cpp AK+LibCrypto: Delete 64x64 wide multiplication workarounds 2023-03-04 22:10:03 -07:00
StringFloatingPointConversions.h
StringHash.h AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
StringImpl.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
StringImpl.h AK: Make Deprecated{Fly,}String and StringImpl const-correct 2023-02-21 00:54:04 +01:00
StringUtils.cpp AK: Pass correct length to StringUtils::convert_to_floating_point() 2023-10-22 00:22:29 +02:00
StringUtils.h AK: Add StringView::count(char) 2023-08-18 08:58:51 +03:30
StringView.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
StringView.h AK: Fix Clang 18 -Wdeprecated-literal-operator warning 2023-08-19 11:07:12 +02:00
TemporaryChange.h
Time.cpp AK: Remove Duration::now_monotonic 2023-05-24 23:18:07 +02:00
Time.h Everywhere: Remove 'clang-format off' comments that are no longer needed 2023-07-08 10:32:56 +01:00
Traits.h AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
Trie.h AK: Allow customising Trie's underlying map type 2023-07-31 05:31:33 +02:00
Try.h AK+Everywhere: Do not implicitly copy variables in TRY macros 2023-02-10 09:08:52 +00:00
Tuple.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
TypeCasts.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05: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: Use compiler builtins for MakeIntegerSequence/TypeListElement 2023-06-28 16:18:32 +02:00
Types.h AK: Replace C-style casts 2023-03-09 21:43:54 +01:00
UBSanitizer.h Everywhere: Fix badly-formatted includes 2023-01-02 11:06:15 -05:00
UFixedBigInt.h AK: Add support for Little/BigEndian<UFixedBigInteger<M>> 2023-08-21 13:39:32 +03:30
UFixedBigIntDivision.h AK: Implement Knuth's algorithm D for dividing UFixedBigInt's 2023-03-04 22:10:03 -07:00
UnicodeUtils.h AK: Replace C-style casts 2023-03-09 21:43:54 +01:00
URL.cpp AK: Port URL m_paths to String 2023-10-26 11:11:41 +02:00
URL.h AK: Port URL m_paths to String 2023-10-26 11:11:41 +02:00
URLParser.cpp AK: Check for overflow parsing IPv4 number in URL 2023-10-26 11:11:41 +02:00
URLParser.h AK: Properly implement steps for shortening a URLs path 2023-10-26 11:11:41 +02:00
Userspace.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
Utf8View.cpp AK: Compute UTF-8 code point lengths using only leading bytes 2023-03-13 15:16:02 +00:00
Utf8View.h AK: Expose the current position of a Utf8CodePointIterator as a pointer 2023-03-22 19:45:40 +01:00
Utf16View.cpp AK: Add spec comments to Utf16CodePointIterator::operator*() 2023-01-22 21:30:44 +00:00
Utf16View.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Utf32View.cpp AK: Prepare Utf32View for use within templated LibGfx contexts 2023-02-22 10:14:36 +01:00
Utf32View.h AK: Add a Utf32View::substring_view overload to take only an offset 2023-03-08 18:57:53 +00:00
UUID.cpp AK: Stop using DeprecatedString in UUID 2022-12-20 10:34:19 +01:00
UUID.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
Variant.h AK: Allow testing Empty instances for equality 2023-07-28 20:47:48 +03:30
Vector.h Everywhere: Run clang-format 2023-07-08 10:32:56 +01:00
Weakable.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
WeakPtr.h AK: Make WeakPtr<T>::value() return NonnullRefPtr<T> 2023-02-05 15:38:19 +01:00