3 // Based on a testcase submitted by Tudor Hulubei <tudor@cs.unh.edu>
5 // X is not a POD because it has a user-defined destructor.
6 // Therefore, we can't cross its initialization.
8 // vector<int> is not even an aggregate; nevertheless, no error is
16 goto bar; // { dg-message "" } jump from here
17 A x; // { dg-message "" } jump crosses initialization
18 bar: // { dg-error "" } jump to here
27 goto bar; // { dg-message "" } jump from here
28 X x; // { dg-message "" } jump crosses initialization
29 bar: // { dg-error "" } jump to here
36 goto bar; // { dg-message "" } jump from here
37 std::vector<int> x; // { dg-message "" } jump crosses initialization
38 bar: // { dg-error "" } jump to here