The following (probably invalid) code snippet triggers an ICE on mainline:
===========================================
struct A
{
operator int();
};
template <typename... T> struct B : A
{
using A::operator T;
};
B<int> b;
===========================================
bug.cc: In instantiation of 'B<int>':
bug.cc:11: instantiated from here
bug.cc:8: internal compiler error: in dependent_type_p, at cp/pt.c:15327
Please submit a full bug report, [etc.]
Another code snippet that ICE's in the same place:
===========================================
template<typename... T> struct A
{
int i __attribute__((aligned(__alignof(T))));
};
A<int> a;
===========================================
bug.cc: In instantiation of 'A<int>':
bug.cc:6: instantiated from here
bug.cc:3: internal compiler error: in dependent_type_p, at cp/pt.c:15327
Please submit a full bug report, [etc.]
--
Summary: [4.3 regression] ICE in dependent_type_p with variadic
templates
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code, monitored
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34051