summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-05-22 06:09:00 +0000
committerPaul Phillips <paulp@improving.org>2010-05-22 06:09:00 +0000
commit354e05b8db4ca47fe9434e3989f3d5fd1b2ce37f (patch)
treea0774c7534ca0ba3b4732dc8797f11ef6cd2c0da /src
parent2ae12a5c6db9b1b4c6a19a803bc0160e71473f14 (diff)
downloadscala-354e05b8db4ca47fe9434e3989f3d5fd1b2ce37f.tar.gz
scala-354e05b8db4ca47fe9434e3989f3d5fd1b2ce37f.tar.bz2
scala-354e05b8db4ca47fe9434e3989f3d5fd1b2ce37f.zip
Made workaround for #3430 noisier during its wo...
Made workaround for #3430 noisier during its working around so we don't get complacent about whether there's still a bug in the optimizer. Conceived by dragos, ergo no review.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/backend/opt/Inliners.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
index 95d94d2e6d..9c1489a637 100644
--- a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
+++ b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
@@ -444,7 +444,13 @@ abstract class Inliners extends SubComponent {
callsNonPublic = b
case None =>
// Avoiding crashing the compiler if there are open blocks.
- if (callee.code.blocks exists (x => !x.closed)) return false
+ callee.code.blocks filterNot (_.closed) foreach { b =>
+ currentIClazz.cunit.warning(callee.symbol.pos,
+ "Encountered open block in isSafeToInline: this indicates a bug in the optimizer!\n" +
+ " caller = " + caller + ", callee = " + callee
+ )
+ return false
+ }
breakable {
for (b <- callee.code.blocks; i <- b)