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 {


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to