rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land.
LGTM ================ Comment at: lib/Sema/SemaTemplateInstantiate.cpp:1525-1530 @@ -1524,18 +1524,8 @@ for (unsigned I = 0, E = FP.getNumParams(); I != E; ++I) { - ParmVarDecl *P = FP.getParam(I); - // This must be synthesized from a typedef. - if (!P) continue; - - // The parameter's type as written might be dependent even if the - // decayed type was not dependent. - if (TypeSourceInfo *TSInfo = P->getTypeSourceInfo()) - if (TSInfo->getType()->isInstantiationDependentType()) - return true; + if (!FP.getParam(I)) continue; - // TODO: currently we always rebuild expressions. When we - // properly get lazier about this, we should use the same - // logic to avoid rebuilding prototypes here. - if (P->hasDefaultArg()) - return true; + // If there are any parameters, a new TypeSourceInfo that refers to the + // instantiated parameters must be built. + return true; } ---------------- Maybe replace the whole loop with for (ParmVarDecl *D : FP.getParmArray()) if (D) return true; (or an STL algorithm for same)? http://reviews.llvm.org/D16478 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits