llvm-project/libcxx
Xing Xue 60f7bdfd03 [libc++][AIX] Make basic_string layout compatible with earlier version
Summary:
Patch D123580 changed to use bit fields for strings in long and short mode. As a result, this changes the layout of these strings on AIX because bit fields on AIX are 4 bytes, which breaks the ABI compatibility with earlier strings before the change on AIX. This patch uses the attribute 'packed' and anonymous structure to make string layout compatible. This patch will also make test cases alignof.compile.pass.cpp and sizeof.compile.pass.cpp introduced in D127672 pass on AIX.

Reviewed by: philnik, Mordante, hubert.reinterpretcast, libc++

Differential Revision: https://reviews.llvm.org/D128285
2022-06-24 17:25:15 -04:00
..
benchmarks [libc++] Don't force -O2 when building the benchmarks 2022-06-17 17:34:02 -04:00
cmake [libcxx][AIX] Switch build compiler to clang 2022-06-13 21:45:18 -04:00
docs [libc++] Implement P0154R1 (Hardware inference size) 2022-06-23 01:31:09 +02:00
include [libc++][AIX] Make basic_string layout compatible with earlier version 2022-06-24 17:25:15 -04:00
lib [libcxx][AIX] Enable ABI list checking for XCOFF 2022-06-14 13:16:00 -04:00
src [libc++] Improve charconv base10 algorithm. 2022-06-21 17:45:40 +02:00
test [libcxx][test] barrier completion functions must be non-throwing 2022-06-24 09:06:47 -07:00
utils [libc++] Add a test to pin down the set of transitive public includes 2022-06-23 16:23:34 -04:00
.clang-format [libcxx] Remove extraneous '---' lines in .clang-format files 2022-06-15 01:34:37 -07:00
.clang-tidy [libc++][clang-tidy] Enable bugprone-use-after-move and explicitly list all used checks 2022-06-21 20:25:04 +02:00
.gitignore
CMakeLists.txt [libcxx][AIX] Switch build compiler to clang 2022-06-13 21:45:18 -04:00
CREDITS.TXT Microsoft's floating-point to_chars powered by Ryu and Ryu Printf 2021-12-12 16:34:50 +01:00
LICENSE.TXT
TODO.TXT [libc++] Disallow volatile types in std::allocator 2021-09-22 11:47:38 -04:00
appveyor-reqs-install.cmd
appveyor.yml