https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86089
--- Comment #4 from Jürgen Reuter <juergen.reuter at desy dot de> ---
This is the dump-tree-original file, which is produced despite of the ICE, and
which is identical for -O1 and -O2:
;; Function __sputc (null)
;; enabled by -tree-original
{
if ( --_p->_w >= 0 || _p->_w >= _p->_lbfsize && (signed char) _c != 10)
{
return (int) (*_p->_p++ = (unsigned char) _c);
}
else
{
return __swbuf (_c, _p);
}
}
;; Function hoo (null)
;; enabled by -tree-original
{
int slen;
char file[32];
int slen;
char file[32];
__builtin___strcpy_chk ((char *) &file, (const char *) in,
__builtin_object_size ((const void *) &file, 1));
slen = (int) strlen ((const char *) &file);
__builtin___sprintf_chk ((char *) &file + (sizetype) slen, 0,
__builtin_object_size ((const void *) &file + (sizetype) slen, 1), (const char
*) "1.out");
}