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

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

void __assert_fail(char *, char *, int, const char *)
    __attribute__((__noreturn__));
template <class T> struct asCArray {
  asCArray(int);
  T &operator[](unsigned);
  T *array;
  int length;
};
template <class T> T &asCArray<T>::operator[](unsigned index) {
  index < length ? void() : __assert_fail("", "", 8, __PRETTY_FUNCTION__);
  return array[index];
}
unsigned asCReaderTranslateFunction_bc_1;
int asCReaderTranslateFunction_bcLength;
void asCReaderTranslateFunction() {
  asCArray<unsigned> bcSizes(asCReaderTranslateFunction_bcLength);
  int offset, size;
  for (int num; offset--; num++)
    size += bcSizes[num];
  asCReaderTranslateFunction_bc_1 = size;
}

Reply via email to