summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug799185-7.js
blob: 51174e21c48436e2e644b5574c22020f82a5dfb9 (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
var y = undefined;

try {} catch (x) {
    try {} catch (x) {
        try {} catch (x) {
        }
    }
}

try {} catch (x if y) {
    try {} catch (x if y) {
        try {} catch (x if y) {
        }
    }
}

while (false) {
    try {} catch ({x,y} if x) {
        try {} catch ({a,b,c,d} if a) {
            if (b) break;
            if (c) continue;
        }
    } finally {}
}

Label1:
for (let foo = 0; foo < 0; foo++) {
    Label2:
    for (let bar = 0; bar < 0; bar++) {
        if (foo) {
            if (bar)
                break Label2;
            continue Label2;
        } else {
            if (bar)
                break Label1;
            continue Label1;
        }
    }
}

Label3:
for (let foo = 0; foo < 0; foo++) {
    Label4:
    for (let bar = 0; bar < 0; bar++) {
        if (foo) {
            if (bar)
                continue Label4;
            break Label4;
        } else {
            if (bar)
                continue Label3;
            break Label3;
        }
    }
}

switch (42) {
default:
    try {} catch (x) {
        if (x + 1) {
            if (x)
                break;
            break;
        }
    }
    break;
}

try {
    null.x;
} catch (x) {
}