diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2025-01-09 18:31:57 +0900 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2025-01-09 18:33:27 +0900 |
commit | df025ebf872052c0761d44a3ef9b65e9675af8a8 (patch) | |
tree | 9b4e94583e2536546d6606270bcdf846c95e1ba2 /clang/tools/libclang/CIndex.cpp | |
parent | 4428c9d0b1344179f85a72e183a44796976521e3 (diff) | |
parent | bdcf47e4bcb92889665825654bb80a8bbe30379e (diff) | |
download | llvm-users/chapuni/cov/single/loop.zip llvm-users/chapuni/cov/single/loop.tar.gz llvm-users/chapuni/cov/single/loop.tar.bz2 |
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/single/loopusers/chapuni/cov/single/loop
Conflicts:
clang/lib/CodeGen/CoverageMappingGen.cpp
Diffstat (limited to 'clang/tools/libclang/CIndex.cpp')
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 24 |
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"); |