From 6263fcc56b630b7181eb30680cadcdbb2bdf91dc Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Tue, 24 Mar 2020 16:28:30 -0700 Subject: Propagate user compile options for Chisel.Module (#1387) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>--- src/test/scala/chiselTests/CompatibilitySpec.scala | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/test/scala') diff --git a/src/test/scala/chiselTests/CompatibilitySpec.scala b/src/test/scala/chiselTests/CompatibilitySpec.scala index d2b39c49..b055890b 100644 --- a/src/test/scala/chiselTests/CompatibilitySpec.scala +++ b/src/test/scala/chiselTests/CompatibilitySpec.scala @@ -7,6 +7,16 @@ import chisel3.testers.BasicTester import org.scalacheck.Gen import org.scalatest.prop.GeneratorDrivenPropertyChecks +// Need separate import to override compile options from Chisel._ +object CompatibilityCustomCompileOptions { + import Chisel.{defaultCompileOptions => _, _} + implicit val customCompileOptions = + chisel3.ExplicitCompileOptions.NotStrict.copy(inferModuleReset = true) + class Foo extends Module { + val io = new Bundle {} + } +} + class CompatibiltySpec extends ChiselFlatSpec with GeneratorDrivenPropertyChecks { import Chisel._ @@ -581,4 +591,11 @@ class CompatibiltySpec extends ChiselFlatSpec with GeneratorDrivenPropertyChecks elaborate(new Foo) } + it should "properly propagate custom compileOptions in Chisel.Module" in { + import CompatibilityCustomCompileOptions._ + var result: Foo = null + elaborate({result = new Foo; result}) + result.compileOptions should be theSameInstanceAs (customCompileOptions) + } + } -- cgit v1.2.3