From 919a2d7a63eec8f6e1e95e85306e0dc21ef91883 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Thu, 27 Sep 2012 22:13:33 +0000 Subject: [PATCH] Fix a regression from r164656. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164804 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AST/TypeLoc.cpp | 7 +++++-- test/SemaTemplate/deduction-crash.cpp | 11 +++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) 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