From b6e9ba20b95d5d9c7ad6eebbcee410929d424f0d Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Tue, 25 Apr 2023 14:37:00 +0200 Subject: [PATCH] Add another error qualifier to decribe the current policy when a doubling token exists (or is created) in the netlist. --- src/include/ngspice/iferrmsg.h | 3 ++- src/spicelib/devices/cktcrte.c | 2 +- src/spicelib/parser/sperror.c | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/include/ngspice/iferrmsg.h b/src/include/ngspice/iferrmsg.h index c5532bdd4..1d5a53adb 100644 --- a/src/include/ngspice/iferrmsg.h +++ b/src/include/ngspice/iferrmsg.h @@ -34,7 +34,8 @@ Author: 1986 Thomas L. Quarles #define E_NOCHANGE 13 /* simulator can't tolerate any more topology changes */ #define E_NOTFOUND 14 /* simulator can't find something it was looking for */ #define E_BAD_DOMAIN 15 /* output interface begin/end domain calls mismatched */ - +#define E_EXISTS_BAD 16 /* error - attempt to create duplicate */ + /* instance or model. Bail out. */ #define E_PRIVATE 100 /* messages above this number are private to */ /* the simulator and MUST be accompanied by */ diff --git a/src/spicelib/devices/cktcrte.c b/src/spicelib/devices/cktcrte.c index 1f5b9578d..77715604b 100644 --- a/src/spicelib/devices/cktcrte.c +++ b/src/spicelib/devices/cktcrte.c @@ -32,7 +32,7 @@ CKTcrtElt(CKTcircuit *ckt, GENmodel *modPtr, GENinstance **inInstPtr, IFuid name if (instPtr) { if (inInstPtr) *inInstPtr = instPtr; - return E_EXISTS; + return E_EXISTS_BAD; } type = modPtr->GENmodType; diff --git a/src/spicelib/parser/sperror.c b/src/spicelib/parser/sperror.c index 1ada7e7d7..915afc79c 100644 --- a/src/spicelib/parser/sperror.c +++ b/src/spicelib/parser/sperror.c @@ -29,7 +29,10 @@ const char *SPerror(int type) case E_EXISTS: msg = "device already exists, existing one being used"; break; - case E_NODEV: + case E_EXISTS_BAD: + msg = "device already exists, bail out"; + break; + case E_NODEV: msg = "no such device"; break; case E_NOMOD: