summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/initlist-throw2.C
blob: 2bb05834d9e0cdce75f15379896b74899d2ab8c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// PR c++/85363
// { dg-do run { target c++11 } }

int
init (int f)
{
  throw f;
}

struct X {
  X () : n {init (42)} {}
  int n;
};

struct P {
  struct R {
    struct Q {
      X x = {};
    } q;
  } r;
};

int
main ()
{
  try {
    P p {};
  }
  catch (int n) {
    return 0;
  }
  return 1;
}