case TemplateArgument::Null:
case TemplateArgument::Declaration:
case TemplateArgument::Integral:
- case TemplateArgument::Pack:
case TemplateArgument::NullPtr:
llvm_unreachable("Impossible TemplateArgument");
? SourceLocation()
: Loc);
break;
- }
+ }
+
+ case TemplateArgument::Pack:
+ ArgInfos[i] = TemplateArgumentLocInfo();
+ break;
}
}
}
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;
+}