diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-05-18 12:17:02 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-05-19 22:28:04 +0200 |
commit | ae0fe9e507b12dc07f9cac2d6774a7bb270e9998 (patch) | |
tree | ddec5c694503f35fb464adb551ace983a059d205 /test/files/run/t8601b.scala | |
parent | a9a3d7c6493f69a099c4ec3179b9bc144d324413 (diff) | |
download | scala-ae0fe9e507b12dc07f9cac2d6774a7bb270e9998.tar.gz scala-ae0fe9e507b12dc07f9cac2d6774a7bb270e9998.tar.bz2 scala-ae0fe9e507b12dc07f9cac2d6774a7bb270e9998.zip |
SI-8601 Don't treat newarray as dead code
Otherwise we lose the side effect of a `NegativeArraySizeException`.
Diffstat (limited to 'test/files/run/t8601b.scala')
-rw-r--r-- | test/files/run/t8601b.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/test/files/run/t8601b.scala b/test/files/run/t8601b.scala index c01caa57d0..9c37ce33d6 100644 --- a/test/files/run/t8601b.scala +++ b/test/files/run/t8601b.scala @@ -1,11 +1,14 @@ object Test { def len(x: Array[String]): Unit = x.length def load(x: Array[String]): Unit = x(0) + def newarray(i: Int): Unit = new Array[Int](i) def check(x: => Any) = try { x; sys.error("failed to throw NPE!") } catch { case _: NullPointerException => } + def checkNegSize(x: => Any) = try { x; sys.error("failed to throw NegativeArraySizeException!") } catch { case _: NegativeArraySizeException => } def main(args: Array[String]) { check(len(null)) // bug: did not NPE check(load(null)) + checkNegSize(newarray(-1)) } } |