diff options
Diffstat (limited to 'clang/tools/libclang/CIndex.cpp')
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 3e76102..5e51fc4 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -2839,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) { @@ -6439,6 +6444,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) { return cxstring::createRef("OpenACCShutdownConstruct"); case CXCursor_OpenACCSetConstruct: return cxstring::createRef("OpenACCSetConstruct"); + case CXCursor_OpenACCUpdateConstruct: + return cxstring::createRef("OpenACCUpdateConstruct"); } llvm_unreachable("Unhandled CXCursorKind"); |