Revert r106099; it broke self-host.

llvm-svn: 106100
diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp
index 14d0604..85b7960 100644
--- a/clang/lib/AST/DeclTemplate.cpp
+++ b/clang/lib/AST/DeclTemplate.cpp
@@ -265,11 +265,8 @@
                              SourceLocation L, unsigned D, unsigned P,
                              IdentifierInfo *Id, bool Typename,
                              bool ParameterPack) {
-  TemplateTypeParmDecl *TTPDecl
-    = new (C) TemplateTypeParmDecl(DC, L, Id, Typename);
-  QualType TTPType = C.getTemplateTypeParmType(D, P, ParameterPack, TTPDecl);
-  TTPDecl->TypeForDecl = TTPType.getTypePtr();
-  return TTPDecl;
+  QualType Type = C.getTemplateTypeParmType(D, P, ParameterPack, Id);
+  return new (C) TemplateTypeParmDecl(DC, L, Id, Typename, Type, ParameterPack);
 }
 
 SourceLocation TemplateTypeParmDecl::getDefaultArgumentLoc() const {
@@ -284,10 +281,6 @@
   return TypeForDecl->getAs<TemplateTypeParmType>()->getIndex();
 }
 
-bool TemplateTypeParmDecl::isParameterPack() const {
-  return TypeForDecl->getAs<TemplateTypeParmType>()->isParameterPack();
-}
-
 //===----------------------------------------------------------------------===//
 // NonTypeTemplateParmDecl Method Implementations
 //===----------------------------------------------------------------------===//