[clang] 8c16323 - [OpenACC/NFC] Make 'trailing objects' use private inheritence.
via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 16 14:31:10 PST 2024
Author: erichkeane
Date: 2024-12-16T14:31:03-08:00
New Revision: 8c163237573df097a99b65a83280757d1b39062c
URL: https://github.com/llvm/llvm-project/commit/8c163237573df097a99b65a83280757d1b39062c
DIFF: https://github.com/llvm/llvm-project/commit/8c163237573df097a99b65a83280757d1b39062c.diff
LOG: [OpenACC/NFC] Make 'trailing objects' use private inheritence.
I noticed this while working on something else, these are supposed to be
privately inherited.
Added:
Modified:
clang/include/clang/AST/OpenACCClause.h
clang/include/clang/AST/StmtOpenACC.h
Removed:
################################################################################
diff --git a/clang/include/clang/AST/OpenACCClause.h b/clang/include/clang/AST/OpenACCClause.h
index 7a1b17cc4e44e3..51db58d484a25f 100644
--- a/clang/include/clang/AST/OpenACCClause.h
+++ b/clang/include/clang/AST/OpenACCClause.h
@@ -191,8 +191,9 @@ using DeviceTypeArgument = std::pair<IdentifierInfo *, SourceLocation>;
/// an identifier. The 'asterisk' means 'the rest'.
class OpenACCDeviceTypeClause final
: public OpenACCClauseWithParams,
- public llvm::TrailingObjects<OpenACCDeviceTypeClause,
+ private llvm::TrailingObjects<OpenACCDeviceTypeClause,
DeviceTypeArgument> {
+ friend TrailingObjects;
// Data stored in trailing objects as IdentifierInfo* /SourceLocation pairs. A
// nullptr IdentifierInfo* represents an asterisk.
unsigned NumArchs;
@@ -377,7 +378,8 @@ class OpenACCClauseWithExprs : public OpenACCClauseWithParams {
// Represents the 'devnum' and expressions lists for the 'wait' clause.
class OpenACCWaitClause final
: public OpenACCClauseWithExprs,
- public llvm::TrailingObjects<OpenACCWaitClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCWaitClause, Expr *> {
+ friend TrailingObjects;
SourceLocation QueuesLoc;
OpenACCWaitClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
Expr *DevNumExpr, SourceLocation QueuesLoc,
@@ -419,7 +421,8 @@ class OpenACCWaitClause final
class OpenACCNumGangsClause final
: public OpenACCClauseWithExprs,
- public llvm::TrailingObjects<OpenACCNumGangsClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCNumGangsClause, Expr *> {
+ friend TrailingObjects;
OpenACCNumGangsClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> IntExprs, SourceLocation EndLoc)
@@ -449,7 +452,8 @@ class OpenACCNumGangsClause final
class OpenACCTileClause final
: public OpenACCClauseWithExprs,
- public llvm::TrailingObjects<OpenACCTileClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCTileClause, Expr *> {
+ friend TrailingObjects;
OpenACCTileClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> SizeExprs, SourceLocation EndLoc)
: OpenACCClauseWithExprs(OpenACCClauseKind::Tile, BeginLoc, LParenLoc,
@@ -503,7 +507,8 @@ class OpenACCClauseWithSingleIntExpr : public OpenACCClauseWithExprs {
class OpenACCGangClause final
: public OpenACCClauseWithExprs,
- public llvm::TrailingObjects<OpenACCGangClause, Expr *, OpenACCGangKind> {
+ private llvm::TrailingObjects<OpenACCGangClause, Expr *, OpenACCGangKind> {
+ friend TrailingObjects;
protected:
OpenACCGangClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<OpenACCGangKind> GangKinds,
@@ -658,7 +663,8 @@ class OpenACCClauseWithVarList : public OpenACCClauseWithExprs {
class OpenACCPrivateClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCPrivateClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCPrivateClause, Expr *> {
+ friend TrailingObjects;
OpenACCPrivateClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -680,7 +686,8 @@ class OpenACCPrivateClause final
class OpenACCFirstPrivateClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCFirstPrivateClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCFirstPrivateClause, Expr *> {
+ friend TrailingObjects;
OpenACCFirstPrivateClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -702,7 +709,8 @@ class OpenACCFirstPrivateClause final
class OpenACCDevicePtrClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCDevicePtrClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCDevicePtrClause, Expr *> {
+ friend TrailingObjects;
OpenACCDevicePtrClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -724,7 +732,8 @@ class OpenACCDevicePtrClause final
class OpenACCAttachClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCAttachClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCAttachClause, Expr *> {
+ friend TrailingObjects;
OpenACCAttachClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -746,7 +755,8 @@ class OpenACCAttachClause final
class OpenACCDetachClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCDetachClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCDetachClause, Expr *> {
+ friend TrailingObjects;
OpenACCDetachClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -768,7 +778,8 @@ class OpenACCDetachClause final
class OpenACCDeleteClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCDeleteClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCDeleteClause, Expr *> {
+ friend TrailingObjects;
OpenACCDeleteClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -790,7 +801,8 @@ class OpenACCDeleteClause final
class OpenACCUseDeviceClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCUseDeviceClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCUseDeviceClause, Expr *> {
+ friend TrailingObjects;
OpenACCUseDeviceClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -812,7 +824,8 @@ class OpenACCUseDeviceClause final
class OpenACCNoCreateClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCNoCreateClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCNoCreateClause, Expr *> {
+ friend TrailingObjects;
OpenACCNoCreateClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -834,7 +847,8 @@ class OpenACCNoCreateClause final
class OpenACCPresentClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCPresentClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCPresentClause, Expr *> {
+ friend TrailingObjects;
OpenACCPresentClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> VarList, SourceLocation EndLoc)
@@ -856,7 +870,8 @@ class OpenACCPresentClause final
class OpenACCCopyClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCCopyClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCCopyClause, Expr *> {
+ friend TrailingObjects;
OpenACCCopyClause(OpenACCClauseKind Spelling, SourceLocation BeginLoc,
SourceLocation LParenLoc, ArrayRef<Expr *> VarList,
@@ -885,7 +900,8 @@ class OpenACCCopyClause final
class OpenACCCopyInClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCCopyInClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCCopyInClause, Expr *> {
+ friend TrailingObjects;
bool IsReadOnly;
OpenACCCopyInClause(OpenACCClauseKind Spelling, SourceLocation BeginLoc,
@@ -917,7 +933,8 @@ class OpenACCCopyInClause final
class OpenACCCopyOutClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCCopyOutClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCCopyOutClause, Expr *> {
+ friend TrailingObjects;
bool IsZero;
OpenACCCopyOutClause(OpenACCClauseKind Spelling, SourceLocation BeginLoc,
@@ -949,7 +966,8 @@ class OpenACCCopyOutClause final
class OpenACCCreateClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCCreateClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCCreateClause, Expr *> {
+ friend TrailingObjects;
bool IsZero;
OpenACCCreateClause(OpenACCClauseKind Spelling, SourceLocation BeginLoc,
@@ -981,7 +999,8 @@ class OpenACCCreateClause final
class OpenACCReductionClause final
: public OpenACCClauseWithVarList,
- public llvm::TrailingObjects<OpenACCReductionClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCReductionClause, Expr *> {
+ friend TrailingObjects;
OpenACCReductionOperator Op;
OpenACCReductionClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
diff --git a/clang/include/clang/AST/StmtOpenACC.h b/clang/include/clang/AST/StmtOpenACC.h
index e256a4b7c69eb5..a1903cd9e3a23a 100644
--- a/clang/include/clang/AST/StmtOpenACC.h
+++ b/clang/include/clang/AST/StmtOpenACC.h
@@ -127,11 +127,12 @@ class OpenACCAssociatedStmtConstruct : public OpenACCConstructStmt {
/// the 'Kind'.
class OpenACCComputeConstruct final
: public OpenACCAssociatedStmtConstruct,
- public llvm::TrailingObjects<OpenACCComputeConstruct,
- const OpenACCClause *> {
+ private llvm::TrailingObjects<OpenACCComputeConstruct,
+ const OpenACCClause *> {
friend class ASTStmtWriter;
friend class ASTStmtReader;
friend class ASTContext;
+ friend TrailingObjects;
OpenACCComputeConstruct(unsigned NumClauses)
: OpenACCAssociatedStmtConstruct(
OpenACCComputeConstructClass, OpenACCDirectiveKind::Invalid,
@@ -189,7 +190,7 @@ class OpenACCComputeConstruct final
/// Construct.
class OpenACCLoopConstruct final
: public OpenACCAssociatedStmtConstruct,
- public llvm::TrailingObjects<OpenACCLoopConstruct,
+ private llvm::TrailingObjects<OpenACCLoopConstruct,
const OpenACCClause *> {
// The compute/combined construct kind this loop is associated with, or
// invalid if this is an orphaned loop construct.
@@ -202,6 +203,7 @@ class OpenACCLoopConstruct final
friend class OpenACCAssociatedStmtConstruct;
friend class OpenACCCombinedConstruct;
friend class OpenACCComputeConstruct;
+ friend TrailingObjects;
OpenACCLoopConstruct(unsigned NumClauses);
@@ -245,8 +247,9 @@ class OpenACCLoopConstruct final
// shared with both loop and compute constructs.
class OpenACCCombinedConstruct final
: public OpenACCAssociatedStmtConstruct,
- public llvm::TrailingObjects<OpenACCCombinedConstruct,
+ private llvm::TrailingObjects<OpenACCCombinedConstruct,
const OpenACCClause *> {
+ friend TrailingObjects;
OpenACCCombinedConstruct(unsigned NumClauses)
: OpenACCAssociatedStmtConstruct(
OpenACCCombinedConstructClass, OpenACCDirectiveKind::Invalid,
@@ -297,8 +300,9 @@ class OpenACCCombinedConstruct final
// and clauses, but is otherwise pretty simple.
class OpenACCDataConstruct final
: public OpenACCAssociatedStmtConstruct,
- public llvm::TrailingObjects<OpenACCDataConstruct,
+ private llvm::TrailingObjects<OpenACCDataConstruct,
const OpenACCClause *> {
+ friend TrailingObjects;
OpenACCDataConstruct(unsigned NumClauses)
: OpenACCAssociatedStmtConstruct(
OpenACCDataConstructClass, OpenACCDirectiveKind::Data,
@@ -345,8 +349,9 @@ class OpenACCDataConstruct final
// This class represents a 'enter data' construct, which JUST has clauses.
class OpenACCEnterDataConstruct final
: public OpenACCConstructStmt,
- public llvm::TrailingObjects<OpenACCEnterDataConstruct,
+ private llvm::TrailingObjects<OpenACCEnterDataConstruct,
const OpenACCClause *> {
+ friend TrailingObjects;
OpenACCEnterDataConstruct(unsigned NumClauses)
: OpenACCConstructStmt(OpenACCEnterDataConstructClass,
OpenACCDirectiveKind::EnterData, SourceLocation{},
@@ -382,8 +387,9 @@ class OpenACCEnterDataConstruct final
// This class represents a 'exit data' construct, which JUST has clauses.
class OpenACCExitDataConstruct final
: public OpenACCConstructStmt,
- public llvm::TrailingObjects<OpenACCExitDataConstruct,
+ private llvm::TrailingObjects<OpenACCExitDataConstruct,
const OpenACCClause *> {
+ friend TrailingObjects;
OpenACCExitDataConstruct(unsigned NumClauses)
: OpenACCConstructStmt(OpenACCExitDataConstructClass,
OpenACCDirectiveKind::ExitData, SourceLocation{},
@@ -420,8 +426,9 @@ class OpenACCExitDataConstruct final
// statement and clauses, but is otherwise pretty simple.
class OpenACCHostDataConstruct final
: public OpenACCAssociatedStmtConstruct,
- public llvm::TrailingObjects<OpenACCHostDataConstruct,
+ private llvm::TrailingObjects<OpenACCHostDataConstruct,
const OpenACCClause *> {
+ friend TrailingObjects;
OpenACCHostDataConstruct(unsigned NumClauses)
: OpenACCAssociatedStmtConstruct(
OpenACCHostDataConstructClass, OpenACCDirectiveKind::HostData,
More information about the cfe-commits
mailing list