From ca8e9b2d2df428421a79ea036c608d70cf140562 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sun, 29 Apr 2012 23:16:46 +0200 Subject: [PATCH] prevent false outputs of @dev[param], when not defined in ac simulation --- src/frontend/error.h | 2 ++ src/spicelib/analysis/acan.c | 2 ++ src/spicelib/devices/cktask.c | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/src/frontend/error.h b/src/frontend/error.h index 4d7ad9d5d..1cc4b26c6 100644 --- a/src/frontend/error.h +++ b/src/frontend/error.h @@ -6,6 +6,8 @@ #ifndef ERROR_H_INCLUDED #define ERROR_H_INCLUDED +#include "ngspice/defines.h" + void controlled_exit(int status); #endif diff --git a/src/spicelib/analysis/acan.c b/src/spicelib/analysis/acan.c index b503cb1fd..ca19b7557 100644 --- a/src/spicelib/analysis/acan.c +++ b/src/spicelib/analysis/acan.c @@ -244,6 +244,8 @@ ACan(CKTcircuit *ckt, int restart) INIT_STATS(); + ckt->CKTcurrentAnalysis = DOING_AC; + /* main loop through all scheduled frequencies */ while (freq <= job->ACstopFreq + freqTol) { if(SPfrontEnd->IFpauseTest()) { diff --git a/src/spicelib/devices/cktask.c b/src/spicelib/devices/cktask.c index 941023565..603840788 100644 --- a/src/spicelib/devices/cktask.c +++ b/src/spicelib/devices/cktask.c @@ -7,12 +7,15 @@ Author: 1985 Thomas L. Quarles * * Ask questions about a specified device. */ +#include "ngspice/ngspice.h" #include "ngspice/config.h" #include "ngspice/devdefs.h" #include "ngspice/sperror.h" #include "dev.h" +#include "error.h" +extern bool ft_stricterror; int CKTask(CKTcircuit *ckt, GENinstance *instance, int which, IFvalue *value, IFvalue *selector) @@ -40,5 +43,9 @@ CKTask(CKTcircuit *ckt, GENinstance *instance, int which, IFvalue *value, IFvalu length = sizeof(int); BRDCST_(&msgtype, (char *)&error, &length, &from); #endif /* PARALLEL_ARCH */ + if (ft_stricterror) { + fprintf(stderr, "\nError: %s\n", errMsg); + controlled_exit(EXIT_BAD); + } return(error); }