blob: 5626174bbe4dd92881796cf8836d360780e01fa4 (
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
34
35
36
37
38
39
40
|
// Build don't link:
// Based on a testcase submitted by Tudor Hulubei <tudor@cs.unh.edu>
// X is not a POD because it has a user-defined destructor.
// Therefore, we can't cross its initialization.
// vector<int> is not even an aggregate; nevertheless, no error is
// reported...
struct A {
A() {}
};
void a() {
goto bar; // ERROR - jump from here
A x; // ERROR - jump crosses initialization
bar: // ERROR - jump to here
;
}
struct X {
~X() {}
};
void b() {
goto bar; // ERROR - jump from here
X x; // ERROR - jump crosses initialization
bar: // ERROR - jump to here
;
}
#include <vector>
void c() {
goto bar; // ERROR - jump from here
vector<int> x; // ERROR - jump crosses initialization
bar: // ERROR - jump to here
;
}
|