summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2007-09-24 15:17:08 +0000
committerIulian Dragos <jaguarul@gmail.com>2007-09-24 15:17:08 +0000
commita20315a54eebf7361185965f18edc1ec7171be43 (patch)
tree48a74196e61a85109851ee75002a7c1a4c8f79b5 /src
parentafa0379466405a1fa7f499b714e2e9ac4351efdc (diff)
downloadscala-a20315a54eebf7361185965f18edc1ec7171be43.tar.gz
scala-a20315a54eebf7361185965f18edc1ec7171be43.tar.bz2
scala-a20315a54eebf7361185965f18edc1ec7171be43.zip
Fixed ticket #107 (verify error long/byte).
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/GenICode.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala
index 4d1e646b95..462b32debd 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala
@@ -1048,6 +1048,9 @@ abstract class GenICode extends SubComponent {
} else if (from == SCALA_ALLREF) {
ctx.bb.emit(DROP(from))
ctx.bb.emit(CONSTANT(Constant(null)))
+ } else (from, to) match {
+ case (BYTE, LONG) | (SHORT, LONG) | (CHAR, LONG) | (INT, LONG) => ctx.bb.emit(CALL_PRIMITIVE(Conversion(INT, LONG)))
+ case _ => ()
}
}