summaryrefslogtreecommitdiff
path: root/test/checker-tests/fail5.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/checker-tests/fail5.scala')
-rw-r--r--test/checker-tests/fail5.scala197
1 files changed, 0 insertions, 197 deletions
diff --git a/test/checker-tests/fail5.scala b/test/checker-tests/fail5.scala
deleted file mode 100644
index b821dc79f9..0000000000
--- a/test/checker-tests/fail5.scala
+++ /dev/null
@@ -1,197 +0,0 @@
-// Incompatible stacks in icode: BooleanRef vs. empty.
-// This may be the same issue as fail4.scala, with the synchronized
-// block being introduced in the rewriting.
-class Crashy {
- def go(x1: Int) = {
- lazy val x2 = x1 < 0
-
- x2
- }
-}
-
-// % work/check all -Xprint:icode work/fail5.scala
-// TypeStack init: REFERENCE(type AnyRef)
-// [Not checkable: parser]
-// [Not checkable: namer]
-// [Not checkable: packageobjects]
-// [Now checking: typer]
-// [Now checking: superaccessors]
-// [Now checking: pickler]
-// [Now checking: refchecks]
-// [Now checking: selectiveanf]
-// [Now checking: liftcode]
-// [Now checking: selectivecps]
-// [Now checking: uncurry]
-// [Now checking: tailcalls]
-// [Not checkable: specialize]
-// [Not checkable: explicitouter]
-// [Now checking: erasure]
-// [Now checking: lazyvals]
-// [Now checking: lambdalift]
-// [check: lambdalift] NoPosition: Apply arguments to new scala.runtime.BooleanRef contains an empty tree: List(<empty>)
-// [Now checking: constructors]
-// [check: constructors] NoPosition: Apply arguments to new scala.runtime.BooleanRef contains an empty tree: List(<empty>)
-// [Now checking: flatten]
-// [check: flatten] NoPosition: Apply arguments to new scala.runtime.BooleanRef contains an empty tree: List(<empty>)
-// [Now checking: mixin]
-// [check: mixin] NoPosition: Apply arguments to new scala.runtime.BooleanRef contains an empty tree: List(<empty>)
-// [Now checking: cleanup]
-// [[syntax trees at end of icode]]// Scala source: fail5.scala
-// package <empty> {
-// class Crashy extends java.lang.Object with ScalaObject {
-// def go(x1$1: Int): Boolean = {
-// @volatile var bitmap$0$1: scala.runtime.VolatileIntRef = new scala.runtime.VolatileIntRef(0);
-// lazy var x2$lzy$1: scala.runtime.BooleanRef = new scala.runtime.BooleanRef(<empty>);
-// Crashy.this.x2$1(x1$1, x2$lzy$1, bitmap$0$1)
-// };
-// final <stable> private[this] def x2$1(x1$1: Int, x2$lzy$1: scala.runtime.BooleanRef, bitmap$0$1: scala.runtime.VolatileIntRef): Boolean = {
-// if (bitmap$0$1.elem.&(1).==(0))
-// {
-// Crashy.this.synchronized({
-// if (bitmap$0$1.elem.&(1).==(0))
-// {
-// x2$lzy$1.elem = x1$1.<(0);
-// bitmap$0$1.elem = bitmap$0$1.elem.|(1);
-// ()
-// };
-// scala.runtime.BoxedUnit.UNIT
-// });
-// ()
-// };
-// x2$lzy$1.elem
-// };
-// def this(): Crashy = {
-// Crashy.super.this();
-// ()
-// }
-// }
-// }
-//
-// [Now checking: icode]
-//
-// ** Checking class Crashy
-//
-// ** Checking method Crashy.go
-// ** Checking Block 1 [S: N/A] [P: N/A]
-// 1-> REFERENCE(class VolatileIntRef)
-// 0<- REFERENCE(class VolatileIntRef)
-// 1-> REFERENCE(class VolatileIntRef)
-// 2-> REFERENCE(class VolatileIntRef)
-// 3-> INT
-// 2<- INT
-// 1<- REFERENCE(class VolatileIntRef)
-// 0<- REFERENCE(class VolatileIntRef)
-// 1-> REFERENCE(class BooleanRef)
-// 0<- REFERENCE(class BooleanRef)
-// 1-> REFERENCE(class BooleanRef)
-// 2-> REFERENCE(class BooleanRef)
-// 3-> BOOL
-// 2<- BOOL
-// 1<- REFERENCE(class BooleanRef)
-// 0<- REFERENCE(class BooleanRef)
-// 1-> REFERENCE(class Crashy)
-// 2-> INT
-// 3-> REFERENCE(class BooleanRef)
-// 4-> REFERENCE(class VolatileIntRef)
-// 3<- REFERENCE(class VolatileIntRef)
-// 2<- REFERENCE(class BooleanRef)
-// 1<- INT
-// 0<- REFERENCE(class Crashy)
-// 1-> BOOL
-// 0<- BOOL
-//
-// ** Checking method Crashy.x2$1
-// ** Checking Block 1 [S: 4, 2] [P: N/A]
-// 1-> REFERENCE(class VolatileIntRef)
-// 0<- REFERENCE(class VolatileIntRef)
-// 1-> INT
-// 2-> INT
-// 1<- INT
-// 0<- INT
-// 1-> INT
-// 2-> INT
-// 1<- INT
-// 0<- INT
-// Output changed for Block 1 [S: 4, 2] [P: N/A]
-// ** Checking Block 4 [S: N/A] [P: 1, 10]
-// 1-> REFERENCE(class BooleanRef)
-// 0<- REFERENCE(class BooleanRef)
-// 1-> BOOL
-// 0<- BOOL
-// ** Checking Block 2 [S: 7, 6] [P: 1]
-// 1-> REFERENCE(class Crashy)
-// 0<- REFERENCE(class Crashy)
-// 1-> REFERENCE(class Crashy)
-// 2-> REFERENCE(class Crashy)
-// 1<- REFERENCE(class Crashy)
-// 0<- REFERENCE(class Crashy)
-// Output changed for Block 2 [S: 7, 6] [P: 1]
-// ** Checking Block 7 [S: 6, 10, 8] [P: 2]
-// 1-> REFERENCE(class VolatileIntRef)
-// 0<- REFERENCE(class VolatileIntRef)
-// 1-> INT
-// 2-> INT
-// 1<- INT
-// 0<- INT
-// 1-> INT
-// 2-> INT
-// 1<- INT
-// 0<- INT
-// Output changed for Block 7 [S: 6, 10, 8] [P: 2]
-// ** Checking Block 6 [S: N/A] [P: 2, 7, 8, 10, 11, 12, 13]
-// 1-> REFERENCE(class Throwable)
-// 2-> REFERENCE(class Object)
-// 1<- REFERENCE(class Object)
-// 0<- REFERENCE(class Throwable)
-// 1-> REFERENCE(trait Nothing)
-// ** Checking Block 10 [S: 6, 4] [P: 7, 13]
-// 1-> REFERENCE(class BoxedUnit)
-// 0<- REFERENCE(class BoxedUnit)
-// 1-> REFERENCE(class Object)
-// 0<- REFERENCE(class Object)
-// Output changed for Block 10 [S: 6, 4] [P: 7, 13]
-// ** Checking Block 8 [S: 6, 12, 11] [P: 7]
-// 1-> REFERENCE(class BooleanRef)
-// 2-> INT
-// 3-> INT
-// 2<- INT
-// 1<- INT
-// Output changed for Block 8 [S: 6, 12, 11] [P: 7]
-// Exception in thread "main" scala.tools.nsc.backend.icode.CheckerException: Incompatible stacks: TypeStack(1 elems) {
-// REFERENCE(class BooleanRef)
-// } and TypeStack() in Crashy.x2$1 at entry to block: 6
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker.meet2$1(Checkers.scala:165)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$meet$2.apply(Checkers.scala:174)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$meet$2.apply(Checkers.scala:174)
-// at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:123)
-// at scala.collection.immutable.List.foldLeft(List.scala:45)
-// at scala.collection.LinearSeqOptimized$class.reduceLeft(LinearSeqOptimized.scala:137)
-// at scala.collection.immutable.List.reduceLeft(List.scala:45)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker.meet(Checkers.scala:174)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$check$5.apply(Checkers.scala:140)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$check$5.apply(Checkers.scala:140)
-// at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
-// at scala.collection.immutable.List.foreach(List.scala:45)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker.check(Checkers.scala:140)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker.check(Checkers.scala:110)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$check$3.apply(Checkers.scala:103)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$check$3.apply(Checkers.scala:103)
-// at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
-// at scala.collection.immutable.List.foreach(List.scala:45)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker.check(Checkers.scala:103)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$checkICodes$1.apply(Checkers.scala:81)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker$$anonfun$checkICodes$1.apply(Checkers.scala:81)
-// at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:89)
-// at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:89)
-// at scala.collection.Iterator$class.foreach(Iterator.scala:631)
-// at scala.collection.mutable.HashTable$$anon$1.foreach(HashTable.scala:161)
-// at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:194)
-// at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
-// at scala.collection.mutable.HashMap$$anon$2.foreach(HashMap.scala:89)
-// at scala.tools.nsc.backend.icode.Checkers$ICodeChecker.checkICodes(Checkers.scala:81)
-// at scala.tools.nsc.Global$Run.compileSources(Global.scala:759)
-// at scala.tools.nsc.Global$Run.compile(Global.scala:823)
-// at scala.tools.nsc.Main$.process(Main.scala:106)
-// at scala.tools.nsc.Main$.main(Main.scala:120)
-// at scala.tools.nsc.Main.main(Main.scala)
-// [paulp@leaf trunk (check-all)]$