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

            Bug ID: 58188
           Summary: ICE in gimple_add_tmp_var, at gimplify.c:738
           Product: gcc
           Version: 4.8.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dragonroot at gmail dot com

The following code causes an ICE:

============ test.cc =============
struct B {};
struct A
{
  A( B );
};

struct Bar
{
  template< unsigned v >
  struct Foo
  {
    A z = B();
    unsigned value;
    Foo(): value( v ) {}
  };

  struct Baz
  {
    Foo< 8 > foo1;
    Foo< 1 > foo3;
  };
};

Bar::Baz baz;
===============================


$ g++-4.8 -c -std=c++11 test.cc 
test.cc: In constructor ‘Bar::Foo<v>::Foo() [with unsigned int v = 1u]’:
test.cc:14:21: internal compiler error: in gimple_add_tmp_var, at
gimplify.c:738
     Foo(): value( v ) {}
                     ^
...

P.S. This might possibly be related to bug 58187.

Reply via email to