[libcxx-commits] [libcxx] [libc++] Correctly handle custom deleters in hardened unique_ptr<T[]> (PR #110685)

Nico Weber via libcxx-commits libcxx-commits at lists.llvm.org
Thu Oct 3 04:41:32 PDT 2024


nico wrote:

Looks like the two failing bots are true failures:

[stage2 (generic-cxx11, clang-19, clang++-19)](https://github.com/llvm/llvm-project/actions/runs/11128390753/job/31006541749?pr=110685#logs):

```
# executed command: /usr/bin/clang++-19 /home/runner/_work/llvm-project/llvm-project/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/runner/_work/llvm-project/llvm-project/build/generic-cxx11/libcxx/test-suite-install/include/c++/v1 -I /home/runner/_work/llvm-project/llvm-project/build/generic-cxx11/libcxx/test-suite-install/include/c++/v1 -I /home/runner/_work/llvm-project/llvm-project/libcxx/test/support -std=c++11 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/runner/_work/llvm-project/llvm-project/build/generic-cxx11/libcxx/test-suite-install/lib -Wl,-rpath,/home/runner/_work/llvm-project/llvm-project/build/generic-cxx11/libcxx/test-suite-install/lib -lc++ -latomic -o /home/runner/_work/llvm-project/llvm-project/build/generic-cxx11/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/Output/op_subscript.runtime.pass.cpp.dir/t.tmp.exe
# .---command stderr------------
# | /home/runner/_work/llvm-project/llvm-project/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp:51:23: error: constexpr function's return type 'void' is not a literal type
# |    51 |   TEST_CONSTEXPR void operator()(T*) const {}
# |       |                       ^
# | 1 error generated.
# `-----------------------------
# error: command failed with exit status: 1
```

[macos (apple-system-hardened, macos-13)](https://github.com/llvm/llvm-project/actions/runs/11128390753/job/31006543256?pr=110685#logs):

```
# executed command: /Users/runner/work/llvm-project/llvm-project/.venv/bin/python3.12 /Users/runner/work/llvm-project/llvm-project/libcxx/utils/run.py --execdir /Users/runner/work/llvm-project/llvm-project/build/apple-system-hardened/cxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/Output/assert.subscript.pass.cpp.dir -- /Users/runner/work/llvm-project/llvm-project/build/apple-system-hardened/cxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/Output/assert.subscript.pass.cpp.dir/t.tmp.exe
# .---command stderr------------
# | Failure: EXPECT_DEATH( other[6] ) failed!
# | (reason: <invalid cause (child did not die)>)
# | 
# | child exit code: 5
# | ---------- standard err ----------
# | 
# | ----------------------------------
# | ---------- standard out ----------
# | 
# | ----------------------------------
# | Assertion failed: (( ExpectDeath(DeathCause::Trap, "other[6]", [&]() { (void)(other[6]); }) )), function operator(), file assert.subscript.pass.cpp, line 120.
# `-----------------------------
# error: command failed with exit status: 2
```

https://github.com/llvm/llvm-project/pull/110685


More information about the libcxx-commits mailing list