From 0e958bd45cf593c3d7c7b3efebf0014c9db20df9 Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Wed, 8 Oct 2025 10:03:35 -0400 Subject: [PATCH] Corrected an issue in which black-box entries (such as low-level subcircuit devices) do not output information about mismatched pins. This can end up being treated as a non-error but the mismatch should be noted in the output regardless. --- VERSION | 2 +- base/netcmp.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a4171b3..29a5a3d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.301 +1.5.302 diff --git a/base/netcmp.c b/base/netcmp.c index f83e898..d025b19 100644 --- a/base/netcmp.c +++ b/base/netcmp.c @@ -8196,6 +8196,14 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist) hasproxy1 = 1; HashPtrInstall(obn->name, obn, &(tc1->objdict)); + + /* If this is a black-box circuit, then the pin has not been output */ + if (NodeClasses == NULL) { + output_string_fill(ostr); + output_string_left(ostr, "%s", "(no matching pin)"); + output_string_right(ostr, "%s", ob2->name); + output_string_print(ostr); + } } } @@ -8266,6 +8274,14 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist) hasproxy2 = 1; HashPtrInstall(obn->name, obn, &(tc2->objdict)); + + /* If this is a black-box circuit, then the pin has not been output */ + if (NodeClasses == NULL) { + output_string_fill(ostr); + output_string_left(ostr, "%s", ob1->name); + output_string_right(ostr, "%s", "(no matching pin)"); + output_string_print(ostr); + } } else if (ob1 != NULL && ob1->type == PORT && ob1->node < 0) {