[clang] ec138c7 - [OpenACC] Improve C++20 compatibility of private/firstprivate test (#152233)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 6 10:26:03 PDT 2025
Author: Douglas
Date: 2025-08-06T10:25:59-07:00
New Revision: ec138c7fa71d8b6d3894bc6d1c384a4cc3fa506e
URL: https://github.com/llvm/llvm-project/commit/ec138c7fa71d8b6d3894bc6d1c384a4cc3fa506e
DIFF: https://github.com/llvm/llvm-project/commit/ec138c7fa71d8b6d3894bc6d1c384a4cc3fa506e.diff
LOG: [OpenACC] Improve C++20 compatibility of private/firstprivate test (#152233)
Under C++17, `DeletedCopy` and `DefaultedCopy` in the test
`clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp`
are eligible for aggregate initialization. Under C++20 and up, that is
no longer the case. Therefore, an explicit constructor must be declared
to avoid additional diagnostics which the test does not expect.
This test was failing in our downstream testing where our toolchain uses
C++20 as the default dialect.
See this reduced example for more details:
https://godbolt.org/z/46oErYT43
Added:
Modified:
clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Removed:
################################################################################
diff --git a/clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp b/clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
index 4644bdeeacc0e..ce941ad4255da 100644
--- a/clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
+++ b/clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
@@ -37,10 +37,12 @@ struct ImplicitDelDtor {
};
struct DeletedCopy {
+ DeletedCopy();
DeletedCopy(const DeletedCopy&) = delete;
};
struct DefaultedCopy {
+ DefaultedCopy();
DefaultedCopy(const DefaultedCopy&) = default;
};
struct UserCopy {
More information about the cfe-commits
mailing list