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)
commit8835e1003efae2f266243833e79db259280f5f37
treecdd7015f5086c06fb0e5f5b817e61461b56b6965
parentaea9ad81d5ee6f99246c88930c5b7f31ce2016d8
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