From 65f10abb5d2646b243d606b28733babb73a8daaa Mon Sep 17 00:00:00 2001 From: rlar Date: Thu, 5 Jan 2017 11:39:50 +0100 Subject: [PATCH] emmit a Warning when CKTunsetup() was incomplete --- src/include/ngspice/cktdefs.h | 1 + src/spicelib/analysis/cktsetup.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/include/ngspice/cktdefs.h b/src/include/ngspice/cktdefs.h index 511cf6f22..3dd051035 100644 --- a/src/include/ngspice/cktdefs.h +++ b/src/include/ngspice/cktdefs.h @@ -152,6 +152,7 @@ struct CKTcircuit { CKTnode *CKTnodes; /* ??? */ CKTnode *CKTlastNode; /* ??? */ + CKTnode *prev_CKTlastNode; /* just before model setup */ /* This define should be somewhere else ??? */ #define NODENAME(ckt,nodenum) CKTnodName(ckt,nodenum) diff --git a/src/spicelib/analysis/cktsetup.c b/src/spicelib/analysis/cktsetup.c index 220c24632..3ad78abcd 100644 --- a/src/spicelib/analysis/cktsetup.c +++ b/src/spicelib/analysis/cktsetup.c @@ -77,6 +77,7 @@ CKTsetup(CKTcircuit *ckt) SetAnalyse("Device Setup", 0); #endif + ckt->prev_CKTlastNode = ckt->CKTlastNode; for (i=0;iDEVsetup && ckt->CKThead[i] ) { error = DEVices[i]->DEVsetup (matrix, ckt->CKThead[i], ckt, @@ -163,6 +164,9 @@ CKTunsetup(CKTcircuit *ckt) error = e2; } } + if (ckt->prev_CKTlastNode != ckt->CKTlastNode) + fprintf(stderr, "Warning: CKTunsetup() was incomplete, this will cause serious problems, please report this issue !\n"); + ckt->CKTisSetup = 0; if(error) return(error);