From 3e5c3a88d6814e91d4c5efff3aa0ed037411d881 Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Thu, 13 Aug 2020 15:23:11 -0700 Subject: Deprecate support for Scala 2.11 (#1551) Leverages chiselRuntimeDeprecated infrastructure. As such it is not currently suppressible.--- core/src/main/scala/chisel3/internal/Builder.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'core/src') diff --git a/core/src/main/scala/chisel3/internal/Builder.scala b/core/src/main/scala/chisel3/internal/Builder.scala index d05a69f7..e55f1af7 100644 --- a/core/src/main/scala/chisel3/internal/Builder.scala +++ b/core/src/main/scala/chisel3/internal/Builder.scala @@ -603,8 +603,24 @@ private[chisel3] object Builder { throwException(m) } + def getScalaMajorVersion: Int = { + val "2" :: major :: _ :: Nil = chisel3.BuildInfo.scalaVersion.split("\\.").toList + major.toInt + } + + def checkScalaVersion(): Unit = { + if (getScalaMajorVersion == 11) { + val url = _root_.firrtl.stage.transforms.CheckScalaVersion.migrationDocumentLink + val msg = s"Chisel 3.4 is the last version that will support Scala 2.11. " + + s"Please upgrade to Scala 2.12. See $url" + deprecated(msg, Some("")) + } + } + + def build[T <: RawModule](f: => T): (Circuit, T) = { dynamicContextVar.withValue(Some(new DynamicContext())) { + checkScalaVersion() errors.info("Elaborating design...") val mod = f mod.forceName(None, mod.name, globalNamespace) -- cgit v1.2.3