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

--- Comment #2 from David Binderman <dcb314 at hotmail dot com> ---
The reduced C++ code seems to be:

extern "C" int abs(int);
enum { a };
typedef int (*b)(const unsigned char *, long, const unsigned char *, long);
struct f {
  struct {
    b c;
  } cu[];
};
template <int d, int>
int e(const unsigned char *g, long h, unsigned char *m, long) {
  int i;
  for (int j; j; j++) {
    for (int k = 0; k < d; k++)
      i += abs(g[k] - m[k]);
    g += h;
  }
  return i;
}
template <int>
int l(const unsigned char *, long, const unsigned char *m, long n) {
  unsigned char o[1];
  int p(e<4, 4>(m, n, o, 0));
  return p;
}
void q(f &g) { g.cu[a].c = l<a>; }

Reply via email to