diff options
Diffstat (limited to 'lib/AST/StmtProfile.cpp')
| -rw-r--r-- | lib/AST/StmtProfile.cpp | 16 | 
1 files changed, 14 insertions, 2 deletions
| diff --git a/lib/AST/StmtProfile.cpp b/lib/AST/StmtProfile.cpp index 2168b64d5b23..bfd3132506ec 100644 --- a/lib/AST/StmtProfile.cpp +++ b/lib/AST/StmtProfile.cpp @@ -158,7 +158,7 @@ void StmtProfiler::VisitReturnStmt(const ReturnStmt *S) {    VisitStmt(S);  } -void StmtProfiler::VisitAsmStmt(const AsmStmt *S) { +void StmtProfiler::VisitGCCAsmStmt(const GCCAsmStmt *S) {    VisitStmt(S);    ID.AddBoolean(S->isVolatile());    ID.AddBoolean(S->isSimple()); @@ -175,7 +175,7 @@ void StmtProfiler::VisitAsmStmt(const AsmStmt *S) {    }    ID.AddInteger(S->getNumClobbers());    for (unsigned I = 0, N = S->getNumClobbers(); I != N; ++I) -    VisitStringLiteral(S->getClobber(I)); +    VisitStringLiteral(S->getClobberStringLiteral(I));  }  void StmtProfiler::VisitMSAsmStmt(const MSAsmStmt *S) { @@ -973,6 +973,14 @@ void StmtProfiler::VisitSubstNonTypeTemplateParmExpr(    Visit(E->getReplacement());  } +void StmtProfiler::VisitFunctionParmPackExpr(const FunctionParmPackExpr *S) { +  VisitExpr(S); +  VisitDecl(S->getParameterPack()); +  ID.AddInteger(S->getNumExpansions()); +  for (FunctionParmPackExpr::iterator I = S->begin(), E = S->end(); I != E; ++I) +    VisitDecl(*I); +} +  void StmtProfiler::VisitMaterializeTemporaryExpr(                                             const MaterializeTemporaryExpr *S) {    VisitExpr(S); @@ -1165,6 +1173,10 @@ void StmtProfiler::VisitTemplateArgument(const TemplateArgument &Arg) {      VisitDecl(Arg.getAsDecl());      break; +  case TemplateArgument::NullPtr: +    VisitType(Arg.getNullPtrType()); +    break; +    case TemplateArgument::Integral:      Arg.getAsIntegral().Profile(ID);      VisitType(Arg.getIntegralType()); | 
