Bug 38466
Summary: | g++ segfaults when compiling with -O2 | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | bastiaan |
Component: | gcc | Assignee: | Jakub Jelinek <jakub> |
Status: | CLOSED RAWHIDE | QA Contact: | David Lawrence <dkl> |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 7.1 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2001-05-02 11:43:40 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
bastiaan
2001-04-30 21:51:47 UTC
The example I gave can be shortened to only 5 lines with the same results: struct CrashMe { CrashMe* self() { try { return this; } catch(...) {} }; void nuke(); }; void CrashMe::nuke() { self()->nuke(); } Yeah, I've simplified it similarly. It is a sibling call optimization issue wrt. exception handling, compiling with -O2 -fno-optimize-sibling-calls should work. I'm debugging it ATM. Should be fixed by http://gcc.gnu.org/ml/gcc-patches/2001-05/msg00082.html I'll put it into gcc-c++-2.96-83 if it passes all the tests. |