diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/bug799185-7.js')
-rw-r--r-- | js/src/jit-test/tests/ion/bug799185-7.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug799185-7.js b/js/src/jit-test/tests/ion/bug799185-7.js new file mode 100644 index 000000000..51174e21c --- /dev/null +++ b/js/src/jit-test/tests/ion/bug799185-7.js @@ -0,0 +1,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) { +} |