diff options
author | Paul Phillips <paulp@improving.org> | 2011-08-21 16:05:06 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-08-21 16:05:06 +0000 |
commit | a707ec6fef216334e2cde4437664f28a3983d1eb (patch) | |
tree | f3c1522042b55386caed29f6d89c0c976f652471 /test | |
parent | 553bea21fbe38c23060be74b5acefefe49c5abbf (diff) | |
download | scala-a707ec6fef216334e2cde4437664f28a3983d1eb.tar.gz scala-a707ec6fef216334e2cde4437664f28a3983d1eb.tar.bz2 scala-a707ec6fef216334e2cde4437664f28a3983d1eb.zip |
Bug in optimizer eliminated potentially excepti...
Bug in optimizer eliminated potentially exceptional not-dead code.
Streamlined isSideEffecting logic. Review by ureche.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/optimizer-array-load.check | 6 | ||||
-rw-r--r-- | test/files/run/optimizer-array-load.flags | 1 | ||||
-rw-r--r-- | test/files/run/optimizer-array-load.scala | 16 |
3 files changed, 23 insertions, 0 deletions
diff --git a/test/files/run/optimizer-array-load.check b/test/files/run/optimizer-array-load.check new file mode 100644 index 0000000000..e8371f0060 --- /dev/null +++ b/test/files/run/optimizer-array-load.check @@ -0,0 +1,6 @@ +0 +1 +2 +3 +4 +5 diff --git a/test/files/run/optimizer-array-load.flags b/test/files/run/optimizer-array-load.flags new file mode 100644 index 0000000000..eb4d19bcb9 --- /dev/null +++ b/test/files/run/optimizer-array-load.flags @@ -0,0 +1 @@ +-optimise
\ No newline at end of file diff --git a/test/files/run/optimizer-array-load.scala b/test/files/run/optimizer-array-load.scala new file mode 100644 index 0000000000..a4d76f7385 --- /dev/null +++ b/test/files/run/optimizer-array-load.scala @@ -0,0 +1,16 @@ +object Test { + def f() = { + val ar = Array.ofDim[Int](5) + var x = 0 + + while (x<=5) { + println(x) + val a = ar(x) + x+=1 + } + } + def main(args: Array[String]): Unit = { + try { f() ; assert(false, "should have thrown exception") } + catch { case _: ArrayIndexOutOfBoundsException => () } + } +} |