From daf157e6c07078d8762da5c5408b81fefe175734 Mon Sep 17 00:00:00 2001 From: Jesse Taube Date: Tue, 21 Mar 2023 04:42:19 -0400 Subject: [PATCH] Fix false LATCH warning on --assert 'unique else if' (#4033) (#4054). --- Changes | 1 + docs/CONTRIBUTORS | 1 + src/V3Const.cpp | 1 + 3 files changed, 3 insertions(+) diff --git a/Changes b/Changes index e913ad400..9219179df 100644 --- a/Changes +++ b/Changes @@ -19,6 +19,7 @@ Verilator 5.009 devel * Support $fopen as an expression. * Support class extends of package::class. * Change ZERODLY to a warning. +* Fix false LATCH warning on --assert 'unique else if' (#4033). [Jesse Taube] * Fix UNDRIVEN warning seg fault (#3989). [Felix Neumärker] * Fix symbol entries when inheriting classes (#3995) (#3996). [Krzysztof Boroński] * Fix push to dynamic queue in struct (#4015). [ezchi] diff --git a/docs/CONTRIBUTORS b/docs/CONTRIBUTORS index aad4beb04..215fb6bd8 100644 --- a/docs/CONTRIBUTORS +++ b/docs/CONTRIBUTORS @@ -61,6 +61,7 @@ Jamie Iles Jan Van Winkel Jean Berniolles Jeremy Bennett +Jesse Taube Jevin Sweval Jiacheng Qian Jiuyang Liu diff --git a/src/V3Const.cpp b/src/V3Const.cpp index da4a74f62..abe512fef 100644 --- a/src/V3Const.cpp +++ b/src/V3Const.cpp @@ -2975,6 +2975,7 @@ private: AstNode* const thensp = nodep->thensp()->unlinkFrBackWithNext(); AstNode* const elsesp = nodep->elsesp()->unlinkFrBackWithNext(); AstIf* const ifp = new AstIf{nodep->fileline(), condp, elsesp, thensp}; + ifp->isBoundsCheck(nodep->isBoundsCheck()); // Copy bounds check info ifp->branchPred(nodep->branchPred().invert()); nodep->replaceWith(ifp); VL_DO_DANGLING(nodep->deleteTree(), nodep);