From: Eli Friedman Date: Thu, 27 Sep 2012 22:13:33 +0000 (+0000) Subject: Fix a regression from r164656. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=919a2d7a63eec8f6e1e95e85306e0dc21ef91883;p=clang Fix a regression from r164656. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164804 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/TypeLoc.cpp b/lib/AST/TypeLoc.cpp index 945e783835..4c103dbf54 100644 --- a/lib/AST/TypeLoc.cpp +++ b/lib/AST/TypeLoc.cpp @@ -301,7 +301,6 @@ void TemplateSpecializationTypeLoc::initializeArgLocs(ASTContext &Context, case TemplateArgument::Null: case TemplateArgument::Declaration: case TemplateArgument::Integral: - case TemplateArgument::Pack: case TemplateArgument::NullPtr: llvm_unreachable("Impossible TemplateArgument"); @@ -331,7 +330,11 @@ void TemplateSpecializationTypeLoc::initializeArgLocs(ASTContext &Context, ? SourceLocation() : Loc); break; - } + } + + case TemplateArgument::Pack: + ArgInfos[i] = TemplateArgumentLocInfo(); + break; } } } diff --git a/test/SemaTemplate/deduction-crash.cpp b/test/SemaTemplate/deduction-crash.cpp index ab5e465680..0714c5e516 100644 --- a/test/SemaTemplate/deduction-crash.cpp +++ b/test/SemaTemplate/deduction-crash.cpp @@ -99,3 +99,14 @@ namespacae PR12933 { return 0; } } + +// A buildbot failure from libcxx +namespace libcxx_test { + template struct __pointer_traits_element_type; + template struct __pointer_traits_element_type<_Ptr, true>; + template