https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87554

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

$ cat pr87554.ii
template < class a > class b {
  static void c(a);
  static a &create() { c(instance); return mya; }

  static a mya;

public:
  static a d() { create(); return a(); }
  static a &instance;
};
template < class a > a &b< a >::instance = create();
class e;
class f {
public:
  void operator()(int g) { h(g); }
  template < class a > void h(a i) { p(j, i); }
  e *j;
};
class e : public f {
public:
  e(int);
};
struct k {
  int l;
};
template < class m, class a > void p(m, a) { b< k >::d(); }
extern template class b< k >;
int n;
int o;
void test() {
  e out(o);
  out(n);
}

Started with r259571.

Reply via email to