From d2e9db71125b58fe2383d5fd4e2da407fbd830ba Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Sat, 10 May 2025 13:55:49 +0200 Subject: [PATCH] CI updates --- .github/workflows/ci.yml | 7 +++++++ src/check/dt_cxxlib.cpp | 6 ++++-- src/util/cxxlib.h | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eefc1e83..67a914cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -74,6 +74,13 @@ jobs: run: | make -C doc clean all if ! git diff --quiet; then git diff || true; fi # ignore diff error + - name: Clean up + shell: bash + run: | + git ls-files -z --others --ignored --exclude-standard ./src/stub | xargs -0r rm -v -- + find ./src/stub/src -type d -name tmp -print0 | xargs -0r rmdir -v -- + #git status --ignored ./src/stub || true + git status --ignored || true job-linux-cmake: # uses cmake + make if: true diff --git a/src/check/dt_cxxlib.cpp b/src/check/dt_cxxlib.cpp index 9e1d9a28..371616ef 100644 --- a/src/check/dt_cxxlib.cpp +++ b/src/check/dt_cxxlib.cpp @@ -558,7 +558,8 @@ TEST_CASE("upx::ObjectDeleter 1") { LE32 *a = nullptr; // array LE64 *m = nullptr; // malloc { - auto o_deleter = upx::ObjectDeleter(&o, 1); + // auto o_deleter = upx::ObjectDeleter(&o, 1); + upx::ObjectDeleter o_deleter = upx::ObjectDeleter(&o, 1); o = new LE16; assert(o != nullptr); auto a_deleter = upx::ArrayDeleter(&a, 1); @@ -594,7 +595,8 @@ TEST_CASE("upx::ObjectDeleter 2") { BE32 *a[N]; // multiple arrays BE64 *m[N]; // multiple mallocs { - auto o_deleter = upx::ObjectDeleter(o, 0); + // auto o_deleter = upx::ObjectDeleter(o, 0); + upx::ObjectDeleter o_deleter = upx::ObjectDeleter(o, 0); auto a_deleter = upx::ArrayDeleter(a, 0); auto m_deleter = upx::MallocDeleter(m, 0); for (size_t i = 0; i < N; i++) { diff --git a/src/util/cxxlib.h b/src/util/cxxlib.h index 087a3517..3a465e86 100644 --- a/src/util/cxxlib.h +++ b/src/util/cxxlib.h @@ -350,6 +350,7 @@ struct ObjectDeleter final { delete item; // single object delete } } + static_assert(std::is_nothrow_destructible_v); }; template struct ArrayDeleter final { @@ -363,6 +364,7 @@ struct ArrayDeleter final { delete[] item; // array delete } } + static_assert(std::is_nothrow_destructible_v); }; template struct MallocDeleter final {