This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/54858] New: [4.6/4.7/4.8 Regression] ICE in cp_tree_equal
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 08 Oct 2012 16:35:52 +0000
- Subject: [Bug c++/54858] New: [4.6/4.7/4.8 Regression] ICE in cp_tree_equal
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54858
Bug #: 54858
Summary: [4.6/4.7/4.8 Regression] ICE in cp_tree_equal
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: jakub@gcc.gnu.org
ReportedBy: jakub@gcc.gnu.org
Starting with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144618
// { dg-do compile }
template <int> struct A {};
template <typename T, T *> struct B {};
template <typename D> struct C
{
A<0> c0; B<A<0>, &C::c0> d0;// { dg-error "could not convert template
argument" }
A<0> c1; B<A<0>, &C::c1> d1;// { dg-error "could not convert template
argument" }
A<0> c2; B<A<0>, &C::c2> d2;// { dg-error "could not convert template
argument" }
A<0> c3; B<A<0>, &C::c3> d3;// { dg-error "could not convert template
argument" }
A<0> c4; B<A<0>, &C::c4> d4;// { dg-error "could not convert template
argument" }
A<0> c5; B<A<0>, &C::c5> d5;// { dg-error "could not convert template
argument" }
A<0> c6; B<A<0>, &C::c6> d6;// { dg-error "could not convert template
argument" }
A<0> c7; B<A<0>, &C::c7> d7;// { dg-error "could not convert template
argument" }
A<0> c8; B<A<0>, &C::c8> d8;// { dg-error "could not convert template
argument" }
A<0> c9; B<A<0>, &C::c9> d9;// { dg-error "could not convert template
argument" }
A<0> ca; B<A<0>, &C::ca> da;// { dg-error "could not convert template
argument" }
A<0> cb; B<A<0>, &C::cb> db;// { dg-error "could not convert template
argument" }
};
C<int> e;
ICEs in cp_tree_equal (prior to r149188 only two lines with dg-error are
actually needed to trigger it), no options needed.