[all-commits] [llvm/llvm-project] f355a5: [libcxx] Initialize vcruntime __std_exception_data...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Tue Aug 5 12:11:49 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
      https://github.com/llvm/llvm-project/commit/f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-08-05 (Tue, 05 Aug 2025)

  Changed paths:
    M libcxx/include/__exception/exception.h

  Log Message:
  -----------
  [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



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list