summaryrefslogtreecommitdiff
path: root/src/main/scala/chisel3/aop/injecting
diff options
context:
space:
mode:
authormergify[bot]2022-06-06 23:02:01 +0000
committerGitHub2022-06-06 23:02:01 +0000
commit42f5d89045e7db323670964a982c59319cf9001f (patch)
tree289e690f3ae36190d4d18d68f1616e78efe22a17 /src/main/scala/chisel3/aop/injecting
parent63f25ac4b4d7c9bd530ff1875ad38d835a82e051 (diff)
Add --warn:reflective-naming (backport #2561) (#2565)
* Factor buildName into reusable function The new function is chisel3.internal.buildName. (cherry picked from commit 370ca8ac68f6d888dd99e1b9e63f0371add398cf) * Add --warn:reflective-naming This new argument (and associated annotation) will turn on a warning whenever reflective naming changes the name of a signal. This is provided to help migrate from Chisel 3.5 to 3.6 since reflective naming is removed in Chisel 3.6. (cherry picked from commit 97afd9b9a1155fa7cd5cedf19f9e0c15fbe899ec) Co-authored-by: Jack Koenig <koenig@sifive.com>
Diffstat (limited to 'src/main/scala/chisel3/aop/injecting')
-rw-r--r--src/main/scala/chisel3/aop/injecting/InjectingAspect.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/scala/chisel3/aop/injecting/InjectingAspect.scala b/src/main/scala/chisel3/aop/injecting/InjectingAspect.scala
index ba873c23..087bdae2 100644
--- a/src/main/scala/chisel3/aop/injecting/InjectingAspect.scala
+++ b/src/main/scala/chisel3/aop/injecting/InjectingAspect.scala
@@ -58,7 +58,8 @@ abstract class InjectorAspect[T <: RawModule, M <: RawModule](
final def toAnnotation(modules: Iterable[M], circuit: String, moduleNames: Seq[String]): AnnotationSeq = {
RunFirrtlTransformAnnotation(new InjectingTransform) +: modules.map { module =>
val chiselOptions = view[ChiselOptions](annotationsInAspect)
- val dynamicContext = new DynamicContext(annotationsInAspect, chiselOptions.throwOnFirstError)
+ val dynamicContext =
+ new DynamicContext(annotationsInAspect, chiselOptions.throwOnFirstError, chiselOptions.warnReflectiveNaming)
// Add existing module names into the namespace. If injection logic instantiates new modules
// which would share the same name, they will get uniquified accordingly
moduleNames.foreach { n =>