Summary: | when terminate is called, stack is not unwinded | ||
---|---|---|---|
Product: | gcc | Reporter: | Christos Kloukinas <C.Kloukinas> |
Component: | c++ | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gcc-bugs, jason, kian.karas.dev |
Priority: | P2 | Keywords: | documentation |
Version: | 3.4.4 | ||
Target Milestone: | 4.6.0 | ||
Host: | Target: | ||
Build: | Known to work: | 4.6.0 | |
Known to fail: | Last reconfirmed: | 2005-07-12 00:06:16 | |
Attachments: |
The .ii intermediate file (bzip2 compressed) of the testcase I used.
And the testcase itself... |
Description
Christos Kloukinas
2005-04-12 18:45:33 UTC
Created attachment 8612 [details]
The .ii intermediate file (bzip2 compressed) of the testcase I used.
Created attachment 8613 [details]
And the testcase itself...
I don't think this is valid as there is no landing pad and it is going to abort anyways. I have to find this in the standard. ICC has the same behavior. Ok, this is just implemenation defined behavior. see 15.3 P 9: If no matching handler is found in a program, the function terminate() is called; whether or not the stack is unwound before this call to terminate() is implemenation-defined (15.5.1) So we define it as not unwinding but we don't document this. Confirmed for documentation. *** Bug 40066 has been marked as a duplicate of this bug. *** The documentation of this implementation-defined behavior was added in 4.6 (r159682). https://gcc.gnu.org/onlinedocs/gcc/Exception-handling.html |