From 6fb95453d130c5423f0cc2c8b5a6e7108aa4b253 Mon Sep 17 00:00:00 2001 From: Lukas Rytz Date: Fri, 9 Oct 2009 08:35:12 +0000 Subject: merging msil (r19001) compiler changes to trunk --- src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala | 8 +++++++- src/compiler/scala/tools/nsc/transform/TailCalls.scala | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala index a94d4c100a..2163940ea5 100644 --- a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala +++ b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala @@ -1214,7 +1214,13 @@ abstract class GenMSIL extends SubComponent { needAdditionalRet = false - val currentLineNr = instr.pos.line + val currentLineNr = try { + instr.pos.line + } catch { + case _: UnsupportedOperationException => + log("Warning: wrong position in: " + method) + lastLineNr + } if (currentLineNr != lastLineNr) { mcode.setPosition(currentLineNr) diff --git a/src/compiler/scala/tools/nsc/transform/TailCalls.scala b/src/compiler/scala/tools/nsc/transform/TailCalls.scala index 5a26f22db9..95643e5fd4 100644 --- a/src/compiler/scala/tools/nsc/transform/TailCalls.scala +++ b/src/compiler/scala/tools/nsc/transform/TailCalls.scala @@ -192,7 +192,7 @@ abstract class TailCalls extends Transform } ) - if (!isTransformed && tailrecRequired(dd)) + if (!forMSIL && !isTransformed && tailrecRequired(dd)) unit.error(dd.pos, "could not optimize @tailrec annotated method") log("Leaving DefDef: " + name) -- cgit v1.2.3