From e7a5c6a65776d2e07a0286c3a1b4a032c7fda49a Mon Sep 17 00:00:00 2001
From: Regis Blanc <regwblanc@gmail.com>
Date: Tue, 19 Jan 2016 16:43:32 +0100
Subject: [PATCH] testcase for absolute value of array elements by reference

---
 .../xlang/valid/ArrayParamMutation9.scala     | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 src/test/resources/regression/verification/xlang/valid/ArrayParamMutation9.scala

diff --git a/src/test/resources/regression/verification/xlang/valid/ArrayParamMutation9.scala b/src/test/resources/regression/verification/xlang/valid/ArrayParamMutation9.scala
new file mode 100644
index 000000000..f5046b6cf
--- /dev/null
+++ b/src/test/resources/regression/verification/xlang/valid/ArrayParamMutation9.scala
@@ -0,0 +1,22 @@
+import leon.lang._
+
+object ArrayParamMutation9 {
+  def abs(a: Array[Int]) {
+    require(a.length > 0)
+    var i = 0;
+    (while (i < a.length) {
+      a(i) = if (a(i) < 0) -a(i) else a(i)  // <-- this makes Leon crash
+      i = i + 1
+    }) invariant(i >= 0)
+  }
+
+
+  def main = {
+    val a = Array(0, -1, 2, -3)
+
+    abs(a)
+
+    a(0) + a(1) - 1 + a(2) - 2 + a(3) - 3 // == 0
+  }
+
+}
-- 
GitLab