Skip to content

Commit e675d0d

Browse files
committed
[OpenACC][NFC] Refactor SemaOpenACC to use a visitor
This code was getting unwieldy, so a quick patch to refactor it a bit.
1 parent f8afa76 commit e675d0d

File tree

4 files changed

+669
-550
lines changed

4 files changed

+669
-550
lines changed

clang/include/clang/AST/OpenACCClause.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ template <class Impl> class OpenACCClauseVisitor {
867867
case OpenACCClauseKind::CLAUSE_NAME: \
868868
Visit##CLAUSE_NAME##Clause(*cast<OpenACC##CLAUSE_NAME##Clause>(C)); \
869869
return;
870-
#define CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME) \
870+
#define CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME, DEPRECATED) \
871871
case OpenACCClauseKind::ALIAS_NAME: \
872872
Visit##CLAUSE_NAME##Clause(*cast<OpenACC##CLAUSE_NAME##Clause>(C)); \
873873
return;

clang/include/clang/Basic/OpenACCClauses.def

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,31 @@
1515
//
1616
// VISIT_CLAUSE(CLAUSE_NAME)
1717
//
18-
// CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME)
18+
// CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME, DEPRECATED)
1919

2020
#ifndef CLAUSE_ALIAS
21-
#define CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME)
21+
#define CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME, false)
2222
#endif
2323

2424
VISIT_CLAUSE(Auto)
2525
VISIT_CLAUSE(Async)
2626
VISIT_CLAUSE(Attach)
2727
VISIT_CLAUSE(Copy)
28-
CLAUSE_ALIAS(PCopy, Copy)
29-
CLAUSE_ALIAS(PresentOrCopy, Copy)
28+
CLAUSE_ALIAS(PCopy, Copy, true)
29+
CLAUSE_ALIAS(PresentOrCopy, Copy, true)
3030
VISIT_CLAUSE(CopyIn)
31-
CLAUSE_ALIAS(PCopyIn, CopyIn)
32-
CLAUSE_ALIAS(PresentOrCopyIn, CopyIn)
31+
CLAUSE_ALIAS(PCopyIn, CopyIn, true)
32+
CLAUSE_ALIAS(PresentOrCopyIn, CopyIn, true)
3333
VISIT_CLAUSE(CopyOut)
34-
CLAUSE_ALIAS(PCopyOut, CopyOut)
35-
CLAUSE_ALIAS(PresentOrCopyOut, CopyOut)
34+
CLAUSE_ALIAS(PCopyOut, CopyOut, true)
35+
CLAUSE_ALIAS(PresentOrCopyOut, CopyOut, true)
3636
VISIT_CLAUSE(Create)
37-
CLAUSE_ALIAS(PCreate, Create)
38-
CLAUSE_ALIAS(PresentOrCreate, Create)
37+
CLAUSE_ALIAS(PCreate, Create, true)
38+
CLAUSE_ALIAS(PresentOrCreate, Create, true)
3939
VISIT_CLAUSE(Default)
4040
VISIT_CLAUSE(DevicePtr)
4141
VISIT_CLAUSE(DeviceType)
42-
CLAUSE_ALIAS(DType, DeviceType)
42+
CLAUSE_ALIAS(DType, DeviceType, false)
4343
VISIT_CLAUSE(FirstPrivate)
4444
VISIT_CLAUSE(If)
4545
VISIT_CLAUSE(Independent)

clang/lib/AST/OpenACCClause.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ OpenACCClause::child_range OpenACCClause::children() {
104104
#define VISIT_CLAUSE(CLAUSE_NAME) \
105105
case OpenACCClauseKind::CLAUSE_NAME: \
106106
return cast<OpenACC##CLAUSE_NAME##Clause>(this)->children();
107-
#define CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME) \
107+
#define CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME, DEPRECATED) \
108108
case OpenACCClauseKind::ALIAS_NAME: \
109109
return cast<OpenACC##CLAUSE_NAME##Clause>(this)->children();
110110

0 commit comments

Comments
 (0)