This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/36511] [4.4 Regression] ice for legal code with -O2
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jun 2008 08:14:17 -0000
- Subject: [Bug tree-optimization/36511] [4.4 Regression] ice for legal code with -O2
- References: <bug-36511-9596@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from rguenth at gcc dot gnu dot org 2008-06-13 08:14 -------
Confirmed. We do not create a EH region in the first place even though
fprintf and fputs could throw. When CCP folds fputs to fputc it hits
the propagator assert
if (tree_could_throw_p (new_stmt))
{
eh_region = lookup_stmt_eh_region (stmt);
/* We couldn't possibly turn a nothrow into a throw statement. */
gcc_assert (eh_region >= 0);
where /* We couldn't possibly turn a nothrow into a throw statement. */ is
obviously only true if we'd have created a EH region in the first place.
So either that we didn't is a bug or the assert should be
gcc_assert (eh_region >= 0 || tree_could_throw_p (stmt));
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|c++ |tree-optimization
Ever Confirmed|0 |1
Keywords| |ice-on-valid-code
Known to work| |4.3.1
Last reconfirmed|0000-00-00 00:00:00 |2008-06-13 08:14:17
date| |
Summary|ice for legal code with -O2 |[4.4 Regression] ice for
| |legal code with -O2
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36511