From 61f438ac38cb7ccd40e77861b19f34553694416f Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 19 Jan 2011 17:02:02 +0000 Subject: [PATCH] NonTypeTemplateParmDecls always have TypeSourceInfo. There's no sense in pretending otherwise. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123839 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaTemplateInstantiateDecl.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/lib/Sema/SemaTemplateInstantiateDecl.cpp b/lib/Sema/SemaTemplateInstantiateDecl.cpp index 76e7406c51..b4ccdd572d 100644 --- a/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -1456,19 +1456,13 @@ Decl *TemplateDeclInstantiator::VisitNonTypeTemplateParmDecl( NonTypeTemplateParmDecl *D) { // Substitute into the type of the non-type template parameter. QualType T; - TypeSourceInfo *DI = D->getTypeSourceInfo(); - if (DI) { - DI = SemaRef.SubstType(DI, TemplateArgs, D->getLocation(), + TypeSourceInfo *DI = SemaRef.SubstType(D->getTypeSourceInfo(), TemplateArgs, D->getLocation(), D->getDeclName()); - if (DI) T = DI->getType(); - } else { - T = SemaRef.SubstType(D->getType(), TemplateArgs, D->getLocation(), - D->getDeclName()); - DI = 0; - } - if (T.isNull()) + if (!DI) return 0; + T = DI->getType(); + // Check that this type is acceptable for a non-type template parameter. bool Invalid = false; T = SemaRef.CheckNonTypeTemplateParameterType(T, D->getLocation()); -- 2.50.1