aboutsummaryrefslogtreecommitdiff
path: root/clang/tools/libclang/CIndex.cpp
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2025-01-09 18:43:11 +0900
committerNAKAMURA Takumi <geek4civic@gmail.com>2025-01-09 18:43:11 +0900
commit0e1a753549b29ff1f5a190aca83b803a33b51628 (patch)
treee5578f8810c65711304128d0c8add7fa1f77b9d8 /clang/tools/libclang/CIndex.cpp
parent3c6252260ee11e3a453076b4d96ffffe20d49998 (diff)
parentbdcf47e4bcb92889665825654bb80a8bbe30379e (diff)
downloadllvm-users/chapuni/cov/single/if.zip
llvm-users/chapuni/cov/single/if.tar.gz
llvm-users/chapuni/cov/single/if.tar.bz2
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/single/ifusers/chapuni/cov/single/if
Conflicts: clang/lib/CodeGen/CoverageMappingGen.cpp
Diffstat (limited to 'clang/tools/libclang/CIndex.cpp')
-rw-r--r--clang/tools/libclang/CIndex.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index 7967c10..5e51fc4 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -2192,6 +2192,7 @@ public:
void VisitOpenACCWaitConstruct(const OpenACCWaitConstruct *D);
void VisitOpenACCInitConstruct(const OpenACCInitConstruct *D);
void VisitOpenACCShutdownConstruct(const OpenACCShutdownConstruct *D);
+ void VisitOpenACCSetConstruct(const OpenACCSetConstruct *D);
void VisitOMPExecutableDirective(const OMPExecutableDirective *D);
void VisitOMPLoopBasedDirective(const OMPLoopBasedDirective *D);
void VisitOMPLoopDirective(const OMPLoopDirective *D);
@@ -2838,8 +2839,13 @@ void OpenACCClauseEnqueue::VisitIfClause(const OpenACCIfClause &C) {
Visitor.AddStmt(C.getConditionExpr());
}
void OpenACCClauseEnqueue::VisitSelfClause(const OpenACCSelfClause &C) {
- if (C.hasConditionExpr())
- Visitor.AddStmt(C.getConditionExpr());
+ if (C.isConditionExprClause()) {
+ if (C.hasConditionExpr())
+ Visitor.AddStmt(C.getConditionExpr());
+ } else {
+ for (Expr *Var : C.getVarList())
+ Visitor.AddStmt(Var);
+ }
}
void OpenACCClauseEnqueue::VisitNumWorkersClause(
const OpenACCNumWorkersClause &C) {
@@ -2849,6 +2855,10 @@ void OpenACCClauseEnqueue::VisitDeviceNumClause(
const OpenACCDeviceNumClause &C) {
Visitor.AddStmt(C.getIntExpr());
}
+void OpenACCClauseEnqueue::VisitDefaultAsyncClause(
+ const OpenACCDefaultAsyncClause &C) {
+ Visitor.AddStmt(C.getIntExpr());
+}
void OpenACCClauseEnqueue::VisitVectorLengthClause(
const OpenACCVectorLengthClause &C) {
Visitor.AddStmt(C.getIntExpr());
@@ -3658,6 +3668,12 @@ void EnqueueVisitor::VisitOpenACCShutdownConstruct(
EnqueueChildren(Clause);
}
+void EnqueueVisitor::VisitOpenACCSetConstruct(const OpenACCSetConstruct *C) {
+ EnqueueChildren(C);
+ for (auto *Clause : C->clauses())
+ EnqueueChildren(Clause);
+}
+
void EnqueueVisitor::VisitAnnotateAttr(const AnnotateAttr *A) {
EnqueueChildren(A);
}
@@ -6426,6 +6442,10 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("OpenACCInitConstruct");
case CXCursor_OpenACCShutdownConstruct:
return cxstring::createRef("OpenACCShutdownConstruct");
+ case CXCursor_OpenACCSetConstruct:
+ return cxstring::createRef("OpenACCSetConstruct");
+ case CXCursor_OpenACCUpdateConstruct:
+ return cxstring::createRef("OpenACCUpdateConstruct");
}
llvm_unreachable("Unhandled CXCursorKind");