http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51925

             Bug #: 51925
           Summary: [4.7 Regression] ICE in tsubst
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: ja...@gcc.gnu.org
                CC: ja...@gcc.gnu.org


class A
{
};
class B;
struct C
{
  C *c1 ();
  int c2 (const A &);
  B *c3;
};
class D;
class B
{
  friend class C;
  D *b;
};
struct E
{
  A e ();
};
template <int, typename T>
struct F
{
  typedef T f;
};
template <typename T1 = void>
struct G : public E
{
  template <int Index>
  struct Select : F <Index, T1>
  {
  };
  using E::e;
  template <int Index>
  typename Select <Index>::f e () {}
  operator typename Select <0>::f () { e <0> (); }
};
struct D
{
  G <A> d (A) {}
};
int
C::c2 (const A &x)
{
  A a = c1 ()->c3->b->d (x);
}

ICEs starting with
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183304

Reply via email to