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

--- Comment #1 from Sergei Trofimovich <slyfox at inbox dot ru> ---
Managed to get rid of templates. Looks like use of uninitialized 'i' is somehow
the culprit:

int *f;
struct g {
  g() {
    f = new int;
    aj = f;
  }
  int &operator[](int h) { return *(aj + h); }
  int *aj;
};
void j() {
  g b;
  g c;
  for (int i; i; i++) {
    int d = 0;
    for (int e = -1; e <= 1; e++) {
      int a = i + e;
      if (a)
        d = b[a];
    }
    c[i] = d;
  }
}

Reply via email to