// { dg-do assemble  }
template <int I>
void f()
{
  class C { public: int c; };
  struct S {
    void g() {
      C e;
      e.c = 3;
    }
  };
  S s;
  s.g();
}
template void f<7>();
// { dg-do assemble  }
template <int I>
void f()
{
  class C { public: int c; };
  struct S {
    void g() {
      C e;
      e.c = 3;
    }
  };
  S s;
  s.g();
}
template void f<7>();