From 371527ef624fa4042d76687fb728f1d168dff4ae Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Thu, 21 Feb 2019 12:49:38 -0500 Subject: Prevent Flatten from stripping all annotations (#1024) --- src/main/scala/firrtl/transforms/Flatten.scala | 2 +- src/test/scala/firrtlTests/FlattenTests.scala | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/scala/firrtl/transforms/Flatten.scala b/src/main/scala/firrtl/transforms/Flatten.scala index 6654667a..a94f5d5a 100644 --- a/src/main/scala/firrtl/transforms/Flatten.scala +++ b/src/main/scala/firrtl/transforms/Flatten.scala @@ -104,7 +104,7 @@ class Flatten extends Transform { override def execute(state: CircuitState): CircuitState = { val annos = state.annotations.collect { case a @ FlattenAnnotation(_) => a } annos match { - case Nil => CircuitState(state.circuit, state.form) + case Nil => state case myAnnotations => val c = state.circuit val (modNames, instNames) = collectAnns(state.circuit, myAnnotations) diff --git a/src/test/scala/firrtlTests/FlattenTests.scala b/src/test/scala/firrtlTests/FlattenTests.scala index 77a221be..82c3ebdc 100644 --- a/src/test/scala/firrtlTests/FlattenTests.scala +++ b/src/test/scala/firrtlTests/FlattenTests.scala @@ -224,4 +224,14 @@ class FlattenTests extends LowTransformSpec { | b <= a""".stripMargin execute(input, check, Seq(flatten("Inline1"))) } + "The Flatten transform" should "do nothing if no flatten annotations are present" in{ + val input = + """|circuit Foo: + | module Foo: + | input a: UInt<1> + | output b: UInt<1> + | b <= a + |""".stripMargin + execute(input, input, Seq.empty) + } } -- cgit v1.2.3