diff options
author | Martin Storsjö <martin@martin.st> | 2025-08-05 22:11:27 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-05 22:11:27 +0300 |
commit | f355a57728c28f1df35cb0bc5bacefc5d7f89bd1 (patch) | |
tree | 109974e36d9afb1e4acad1cbae60478ff6aefda1 /llvm/lib/TextAPI | |
parent | cd0268063d47fb7e5331300db7c21d7302531e33 (diff) | |
download | llvm-f355a57728c28f1df35cb0bc5bacefc5d7f89bd1.zip llvm-f355a57728c28f1df35cb0bc5bacefc5d7f89bd1.tar.gz llvm-f355a57728c28f1df35cb0bc5bacefc5d7f89bd1.tar.bz2 |
[libcxx] Initialize vcruntime __std_exception_data in the exception copy ctor (#144329)
This fixes failures in a number of tests, in the
clang-cl-no-vcruntime configuration (where libcxx provides dummy, no-op
replacements of some vcruntime base exception classes), if building with
optimization enabled.
Previously, with optimization enabled, the compiler concluded that these
fields would be uninitialized at the points of asserts in the tests.
This fixes the following tests in this configuration:
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/bad.exception/bad_exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/exception/exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.cast/bad_cast.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp
Diffstat (limited to 'llvm/lib/TextAPI')
0 files changed, 0 insertions, 0 deletions