source: tests/exceptions/trash.cfa @ fe8aa21

ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationpthread-emulationqualifiedEnum
Last change on this file since fe8aa21 was d00d581, checked in by Henry Xue <y58xue@…>, 3 years ago

Update exception tests to use new syntax

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