source: doc/theses/rob_schluntz/examples/conclusions/except.cc @ f0322e20

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since f0322e20 was 728df66, checked in by Peter A. Buhr <pabuhr@…>, 7 years ago

more documentation name changes

  • Property mode set to 100644
File size: 422 bytes
RevLine 
[f92aa32]1#include <iostream>
2using namespace std;
3
4struct S {
5  int x;
6};
7
8void _dtor_S(S * s) {
9  cout << "called destructor!" << endl;
10}
11
12S f() {
13  throw 3;
14  return (S) { 0 };
15}
16
17void _ctor_S(struct S *s, struct S) {
18  s->x = 123;
19}
20
21int main() {
22  try {
23//    __attribute__((cleanup(_dtor_S))) S s = f();
24  struct S _tmp1;
25  struct S _tmp2 = (_ctor_S(&_tmp2, _tmp1), _tmp2);
26  cout << _tmp2.x << endl;
27
28  } catch(...) {
29
30  }
31}
Note: See TracBrowser for help on using the repository browser.