Fix isPure to be superset of isOutputter.

This may cause some additional SIDEEFFECT warnings that previously were not shown.
This commit is contained in:
Wilson Snyder
2024-06-16 21:43:30 -04:00
parent d5cfe1a379
commit 607c19a67d
5 changed files with 8 additions and 7 deletions
-1
View File
@@ -801,7 +801,6 @@ AstNode* AstNode::cloneTreeIter(bool needPure) {
<< this->warnMore()
<< "... Suggest use a temporary variable in place of this expression");
// this->v3fatalSrc("cloneTreePure debug backtrace"); // Comment in to debug where caused
// it
}
AstNode* const newp = this->clone();
if (this->m_op1p) newp->op1p(this->m_op1p->cloneTreeIterList(needPure));
+2 -2
View File
@@ -2786,7 +2786,7 @@ public:
bool isGateOptimizable() const override { return false; }
bool isPredictOptimizable() const override { return false; }
bool isOutputter() override { return true; }
// but isPure() true
bool isPure() override { return false; }
AstCoverDecl* declp() const { return m_declp; } // Where defined
};
class AstCoverToggle final : public AstNodeStmt {
@@ -3379,7 +3379,7 @@ public:
bool isGateOptimizable() const override { return false; }
bool isPredictOptimizable() const override { return false; }
bool isOutputter() override { return true; }
// but isPure() true
bool isPure() override { return false; }
AstTraceDecl* declp() const { return m_declp; }
VTraceType traceType() const { return m_traceType; }
uint32_t baseCode() const { return m_baseCode; }