aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectSource.cpp
diff options
context:
space:
mode:
authorXing Xue <xingxue@outlook.com>2024-07-01 15:37:52 -0400
committerGitHub <noreply@github.com>2024-07-01 15:37:52 -0400
commit668ee3f5478c1e1b549923667cf1b8704b1a0bd0 (patch)
treeddd08cb4946c366b7a2a78426bafec7424cbd95c /lldb/source/Commands/CommandObjectSource.cpp
parent7c50187b7d7a977144372ceff306d21d71e22e26 (diff)
downloadllvm-668ee3f5478c1e1b549923667cf1b8704b1a0bd0.zip
llvm-668ee3f5478c1e1b549923667cf1b8704b1a0bd0.tar.gz
llvm-668ee3f5478c1e1b549923667cf1b8704b1a0bd0.tar.bz2
[clang] Default to -fno-sized-deallocation for AIX (#97076)
Some `libc++` LIT test cases and user code define their own version of `operator delete` that are not sized. With `-fno-sized-deallocation`, destructors call the non-sized `operator delete` and it will be resolved to the user defined version. However, with `-fsized-deallocation`, destructors will call the sized `operator delete` which will be resolved to the weak definition in `libc++abi` because the user code does not define the corresponding sized version. The `libc++abi` sized `operator delete` in turn calls the non-sized version of `operator delete` of the same shared object inside `libc++abi` instead of the user defined version on AIX because runtime linking is not the default for AIX and therefore, fails the tests or user code. This patch sets `-fno-sized-deallocation` as the default for AIX if neither `-fsize-deallocation` nor `-fno-sized-deallocation` is explicitly set, similar to what is done for ZOS.
Diffstat (limited to 'lldb/source/Commands/CommandObjectSource.cpp')
0 files changed, 0 insertions, 0 deletions