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: ja...@gcc.gnu.org

        ReportedBy: ja...@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.

Reply via email to