hdl.ast: warn on unused property statements (Assert, Assume, etc).
authorwhitequark <whitequark@whitequark.org>
Sat, 1 Feb 2020 01:55:23 +0000 (01:55 +0000)
committerwhitequark <whitequark@whitequark.org>
Sat, 1 Feb 2020 02:03:23 +0000 (02:03 +0000)
commitafece150016ec928b30c569515a321f65f81155b
treecdd7015f5086c06fb0e5f5b817e61461b56b6965
parent9fb4a4f09e7488a8462f7fadc6c417cbd531b626
hdl.ast: warn on unused property statements (Assert, Assume, etc).

A property statement that is created but not added to a module is
virtually always a serious bug, since it can make formal verification
pass when it should not. Therefore, add a warning to it, similar to
UnusedElaboratable.

Doing this to all statements is possible, but many temporary ones are
created internally by nMigen, and the extensive changes required to
remove false positives are likely not worth the true positives.
We can revisit this in the future.

Fixes #303.
nmigen/hdl/ast.py
nmigen/hdl/dsl.py
nmigen/hdl/ir.py
nmigen/hdl/xfrm.py