rsmith added inline comments. ================ Comment at: lib/AST/ASTDumper.cpp:1340-1344 @@ +1339,7 @@ + dumpName(D); + switch (D->getBuiltinTemplateKind()) { + case BTK__make_integer_seq: + OS << " __make_integer_seq"; + break; + } + dumpTemplateParameters(D->getTemplateParameters()); ---------------- This seems redundant given that you dumped the name on the prior line.
================ Comment at: lib/AST/DeclTemplate.cpp:1204 @@ +1203,3 @@ + + // Ints... + TypeSourceInfo *TI = ---------------- I think you mean `T ...Ints` (and likewise in comments below). ================ Comment at: lib/AST/DeclTemplate.cpp:1229 @@ +1228,3 @@ + + // Ints... + TypeSourceInfo *TInfo = C.getTrivialTypeSourceInfo( ---------------- This should be `T N` or similar, right? (In particular, it's not a pack.) ================ Comment at: lib/Sema/SemaTemplate.cpp:2176-2178 @@ -2173,1 +2175,5 @@ "type of non-dependent specialization is not a RecordType"); + } else if (auto *BTD = dyn_cast<BuiltinTemplateDecl>(Template)) { + switch (BTD->getBuiltinTemplateKind()) { + case BTK__make_integer_seq: + // Specializations of __make_integer_seq<S, T, N> are treated like ---------------- Factor this out into a separate function to compute the canonical type for a builtin template; `CheckTemplateIdType` is long enough already :) ================ Comment at: lib/Sema/SemaTemplate.cpp:2210 @@ +2209,3 @@ + Expr *E = + BuildExpressionFromIntegralTemplateArgument(TA, SourceLocation()) + .getAs<Expr>(); ---------------- Maybe use the location from the third template argument here? ================ Comment at: lib/Serialization/ASTReaderDecl.cpp:1861 @@ +1860,3 @@ +void ASTDeclReader::VisitBuiltinTemplateDecl(BuiltinTemplateDecl *D) { + llvm_unreachable("BuiltinTemplates are not serialized"); +} ---------------- So what happens when we serialize an AST that references a builtin template? It's probably best to treat them as predefined declarations (look for existing references to `PREDEF_DECL_*` to see how this should fit in). http://reviews.llvm.org/D13786 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits