Bug 122119 - Internal compiler error in convert_from_eh_region_ranges_1
Summary: Internal compiler error in convert_from_eh_region_ranges_1
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: gcc   
(Show other bugs)
Version: 3.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
URL: http://gcc.gnu.org/ml/gcc-bugs/2003-1...
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-04-30 17:38 UTC by Chris Kloiber
Modified: 2007-11-30 22:07 UTC (History)
1 user (show)

Fixed In Version: 3.2.3-34
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-05-25 17:08:04 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description Chris Kloiber 2004-04-30 17:38:06 UTC
From CRM # 320356, Issue Tracker # 38348:

http://gcc.gnu.org/ml/gcc-bugs/2003-12/msg01520.html

Test case
-----------
// Some levels of optimization make the bug go away.
//
//    g++ -O2 -c bug.C
//
// This test case comes from g++ bug 13392, mentioned here.
//
//    http://gcc.gnu.org/ml/gcc-bugs/2003-12/msg01520.html
//
// Our own code is too big to provide as a test case.  However, since
// the crash signature is identical in both case and both involve the
// ternary operator generating temporaries, we believe they tickle the
// same compiler bug.
//

#include <cassert>
#include <string>


bool foo(std::string s=std::string())
{
  return false;
}


void bar()
{
  assert((foo() && true,1)
     ? 0
     : (abort(),0));
}
------------
Output of test without the optimization:

(cd /tmp;g++ -c bug.C)'
bug.C: In function `void bar()':
bug.C:35: Internal compiler error in convert_from_eh_region_ranges_1,
at except.c:1397


Customer is requesting we fix this asap.

Comment 1 Jakub Jelinek 2004-05-25 15:21:28 UTC
Cannot reproduce this with gcc-3.2.3-34 (U2 gcc).
PR middle-end/1339 is certainly supposed to be fixed there.
What gcc the customer used?

Comment 2 Chris Kloiber 2004-05-25 17:08:04 UTC
They were using gcc-3.2.3-24, so it looks like the U2 update fixes
this. Will inform the customer.


Note You need to log in before you can comment on or make changes to this bug.