Fix a regression from r164656.

llvm-svn: 164804
This commit is contained in:
Eli Friedman 2012-09-27 22:13:33 +00:00
parent 6aef455573
commit c681e5f608
2 changed files with 16 additions and 2 deletions

View File

@ -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;
}
}
}

View File

@ -99,3 +99,14 @@ namespacae PR12933 {
return 0;
}
}
// A buildbot failure from libcxx
namespace libcxx_test {
template <class _Ptr, bool> struct __pointer_traits_element_type;
template <class _Ptr> struct __pointer_traits_element_type<_Ptr, true>;
template <template <class, class...> class _Sp, class _Tp, class ..._Args> struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, true> {
typedef char type;
};
template <class T> struct B {};
__pointer_traits_element_type<B<int>, true>::type x;
}