source: tests/exceptions/trash.cfa @ 43299af

Last change on this file since 43299af was d3cf623, checked in by Andrew Beach <ajbeach@…>, 5 weeks ago

Solved the requested warning with exceptions. Also went through the exceptions tests and managed to remove about 2/3rds of them from the lax list that now either didn't have any warnings or warnings because of the test itself.

  • Property mode set to 100644
File size: 469 bytes
RevLine 
[980fb4e]1// Make sure throw-catch during unwind does not trash internal data.
2
[3bf9d10]3#include <fstream.hfa>
4
[d00d581]5exception yin {};
6exception yang {};
[980fb4e]7
[d00d581]8vtable(yin) yin_vt;
9vtable(yang) yang_vt;
[980fb4e]10
[d3cf623]11int main() {
[980fb4e]12        try {
13                try {
[ecfd758]14                        throw (yin){&yin_vt};
[980fb4e]15                } finally {
16                        try {
[ecfd758]17                                throw (yang){&yang_vt};
[980fb4e]18                        } catch (yin *) {
[3bf9d10]19                                sout | "inner yin";
[980fb4e]20                        } catch (yang *) {
[3bf9d10]21                                sout | "inner yang";
[980fb4e]22                        }
23                }
24        } catch (yin *) {
[3bf9d10]25                sout | "outer yin";
[980fb4e]26        } catch (yang *) {
[3bf9d10]27                sout | "outer yang";
[980fb4e]28        }
29}
Note: See TracBrowser for help on using the repository browser.