diff options
Diffstat (limited to 'clang/tools/libclang/CIndex.cpp')
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 9412d97..9493edf 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -2880,6 +2880,8 @@ void OpenACCClauseEnqueue::VisitTileClause(const OpenACCTileClause &C) { void OpenACCClauseEnqueue::VisitPrivateClause(const OpenACCPrivateClause &C) { VisitVarList(C); + for (VarDecl *V : C.getInitRecipes()) + Visitor.AddDecl(V); } void OpenACCClauseEnqueue::VisitHostClause(const OpenACCHostClause &C) { @@ -2893,6 +2895,10 @@ void OpenACCClauseEnqueue::VisitDeviceClause(const OpenACCDeviceClause &C) { void OpenACCClauseEnqueue::VisitFirstPrivateClause( const OpenACCFirstPrivateClause &C) { VisitVarList(C); + for (const OpenACCFirstPrivateRecipe &R : C.getInitRecipes()) { + Visitor.AddDecl(R.RecipeDecl); + Visitor.AddDecl(R.InitFromTemporary); + } } void OpenACCClauseEnqueue::VisitPresentClause(const OpenACCPresentClause &C) { @@ -2972,9 +2978,7 @@ void OpenACCClauseEnqueue::VisitIndependentClause( const OpenACCIndependentClause &C) {} void OpenACCClauseEnqueue::VisitSeqClause(const OpenACCSeqClause &C) {} void OpenACCClauseEnqueue::VisitNoHostClause(const OpenACCNoHostClause &C) {} -void OpenACCClauseEnqueue::VisitBindClause(const OpenACCBindClause &C) { - assert(false && "TODO ERICH"); -} +void OpenACCClauseEnqueue::VisitBindClause(const OpenACCBindClause &C) { } void OpenACCClauseEnqueue::VisitFinalizeClause(const OpenACCFinalizeClause &C) { } void OpenACCClauseEnqueue::VisitIfPresentClause( @@ -4716,8 +4720,7 @@ static const ExprEvalResult *evaluateExpr(Expr *expr, CXCursor C) { std::string strRef(StrE->getString().str()); result->EvalData.stringVal = new char[strRef.size() + 1]; - strncpy((char *)result->EvalData.stringVal, strRef.c_str(), - strRef.size()); + strncpy(result->EvalData.stringVal, strRef.c_str(), strRef.size()); result->EvalData.stringVal[strRef.size()] = '\0'; return result.release(); } @@ -4737,7 +4740,7 @@ static const ExprEvalResult *evaluateExpr(Expr *expr, CXCursor C) { std::string strRef(StrE->getString().str()); result->EvalData.stringVal = new char[strRef.size() + 1]; - strncpy((char *)result->EvalData.stringVal, strRef.c_str(), strRef.size()); + strncpy(result->EvalData.stringVal, strRef.c_str(), strRef.size()); result->EvalData.stringVal[strRef.size()] = '\0'; return result.release(); } @@ -4756,7 +4759,7 @@ static const ExprEvalResult *evaluateExpr(Expr *expr, CXCursor C) { result->EvalType = CXEval_CFStr; result->EvalData.stringVal = new char[strLiteral.size() + 1]; - strncpy((char *)result->EvalData.stringVal, strLiteral.c_str(), + strncpy(result->EvalData.stringVal, strLiteral.c_str(), strLiteral.size()); result->EvalData.stringVal[strLiteral.size()] = '\0'; return result.release(); @@ -4781,7 +4784,7 @@ static const ExprEvalResult *evaluateExpr(Expr *expr, CXCursor C) { std::string strLiteral(S->getString().str()); result->EvalType = CXEval_CFStr; result->EvalData.stringVal = new char[strLiteral.size() + 1]; - strncpy((char *)result->EvalData.stringVal, strLiteral.c_str(), + strncpy(result->EvalData.stringVal, strLiteral.c_str(), strLiteral.size()); result->EvalData.stringVal[strLiteral.size()] = '\0'; return result.release(); |