[clang] df0b34c - [OpenACC/NFC] Fix 'trailing objects' CRTP.

via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 16 12:43:51 PST 2024


Author: erichkeane
Date: 2024-12-16T12:43:45-08:00
New Revision: df0b34cbeb822c81fec43390663659bea97dd2ae

URL: https://github.com/llvm/llvm-project/commit/df0b34cbeb822c81fec43390663659bea97dd2ae
DIFF: https://github.com/llvm/llvm-project/commit/df0b34cbeb822c81fec43390663659bea97dd2ae.diff

LOG: [OpenACC/NFC] Fix 'trailing objects' CRTP.

A previous patch mistakenly set the CRTP object for the trailing objects
incorrectly.  This patch fixes those.  This wasn't noticed in testing,
  since these types have the same layout.

Added: 
    

Modified: 
    clang/include/clang/AST/StmtOpenACC.h

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/AST/StmtOpenACC.h b/clang/include/clang/AST/StmtOpenACC.h
index df73980822c7be..e256a4b7c69eb5 100644
--- a/clang/include/clang/AST/StmtOpenACC.h
+++ b/clang/include/clang/AST/StmtOpenACC.h
@@ -297,7 +297,7 @@ class OpenACCCombinedConstruct final
 // and clauses, but is otherwise pretty simple.
 class OpenACCDataConstruct final
     : public OpenACCAssociatedStmtConstruct,
-      public llvm::TrailingObjects<OpenACCCombinedConstruct,
+      public llvm::TrailingObjects<OpenACCDataConstruct,
                                    const OpenACCClause *> {
   OpenACCDataConstruct(unsigned NumClauses)
       : OpenACCAssociatedStmtConstruct(
@@ -345,7 +345,7 @@ class OpenACCDataConstruct final
 // This class represents a 'enter data' construct, which JUST has clauses.
 class OpenACCEnterDataConstruct final
     : public OpenACCConstructStmt,
-      public llvm::TrailingObjects<OpenACCCombinedConstruct,
+      public llvm::TrailingObjects<OpenACCEnterDataConstruct,
                                    const OpenACCClause *> {
   OpenACCEnterDataConstruct(unsigned NumClauses)
       : OpenACCConstructStmt(OpenACCEnterDataConstructClass,
@@ -382,7 +382,7 @@ class OpenACCEnterDataConstruct final
 // This class represents a 'exit data' construct, which JUST has clauses.
 class OpenACCExitDataConstruct final
     : public OpenACCConstructStmt,
-      public llvm::TrailingObjects<OpenACCCombinedConstruct,
+      public llvm::TrailingObjects<OpenACCExitDataConstruct,
                                    const OpenACCClause *> {
   OpenACCExitDataConstruct(unsigned NumClauses)
       : OpenACCConstructStmt(OpenACCExitDataConstructClass,
@@ -420,7 +420,7 @@ class OpenACCExitDataConstruct final
 // statement and clauses, but is otherwise pretty simple.
 class OpenACCHostDataConstruct final
     : public OpenACCAssociatedStmtConstruct,
-      public llvm::TrailingObjects<OpenACCCombinedConstruct,
+      public llvm::TrailingObjects<OpenACCHostDataConstruct,
                                    const OpenACCClause *> {
   OpenACCHostDataConstruct(unsigned NumClauses)
       : OpenACCAssociatedStmtConstruct(


        


More information about the cfe-commits mailing list