Add ft_spiniterror, to be set during spinit processing,as
ft_stricterror will be set only later, when .spiceinit is executed.
This commit is contained in:
parent
36e7835afd
commit
344beaad24
|
|
@ -8,13 +8,21 @@
|
||||||
#ifdef XSPICE
|
#ifdef XSPICE
|
||||||
void com_codemodel(wordlist *wl)
|
void com_codemodel(wordlist *wl)
|
||||||
{
|
{
|
||||||
wordlist *ww;
|
if (wl && wl->wl_word)
|
||||||
for (ww = wl; ww; ww = ww->wl_next)
|
#ifdef CM_TRACE
|
||||||
if (load_opus(wl->wl_word)) {
|
fprintf(stdout, "Note: loading codemodel %s\n", ww->wl_word);
|
||||||
fprintf(cp_err, "Error: Library %s couldn't be loaded!\n", ww->wl_word);
|
#endif
|
||||||
if (ft_stricterror)
|
if (load_opus(wl->wl_word)) {
|
||||||
controlled_exit(EXIT_BAD);
|
fprintf(stderr, "Error: Library %s couldn't be loaded!\n", wl->wl_word);
|
||||||
}
|
ft_spiniterror = TRUE;
|
||||||
|
if (ft_stricterror) /* if set in spinit */
|
||||||
|
controlled_exit(EXIT_BAD);
|
||||||
|
}
|
||||||
|
#ifdef CM_TRACE
|
||||||
|
else {
|
||||||
|
fprintf(stdout, "Codemodel %s is loaded\n", wl->wl_word);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -25,6 +33,7 @@ void com_osdi(wordlist *wl)
|
||||||
for (ww = wl; ww; ww = ww->wl_next)
|
for (ww = wl; ww; ww = ww->wl_next)
|
||||||
if (load_osdi(ww->wl_word)) {
|
if (load_osdi(ww->wl_word)) {
|
||||||
fprintf(cp_err, "Error: Library %s couldn't be loaded!\n", ww->wl_word);
|
fprintf(cp_err, "Error: Library %s couldn't be loaded!\n", ww->wl_word);
|
||||||
|
ft_spiniterror = TRUE;
|
||||||
if (ft_stricterror)
|
if (ft_stricterror)
|
||||||
controlled_exit(EXIT_BAD);
|
controlled_exit(EXIT_BAD);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
|
||||||
bool ft_acctprint = FALSE, ft_noacctprint = FALSE, ft_listprint = FALSE;
|
bool ft_acctprint = FALSE, ft_noacctprint = FALSE, ft_listprint = FALSE;
|
||||||
bool ft_nodesprint = FALSE, ft_optsprint = FALSE, ft_noinitprint = FALSE;
|
bool ft_nodesprint = FALSE, ft_optsprint = FALSE, ft_noinitprint = FALSE;
|
||||||
bool ft_norefprint = FALSE, ft_skywaterpdk = FALSE;
|
bool ft_norefprint = FALSE, ft_skywaterpdk = FALSE;
|
||||||
bool ft_ngdebug = FALSE, ft_nginfo = FALSE, ft_stricterror = FALSE;
|
bool ft_ngdebug = FALSE, ft_nginfo = FALSE, ft_stricterror = FALSE, ft_spiniterror = FALSE;
|
||||||
|
|
||||||
static void setdb(char *str);
|
static void setdb(char *str);
|
||||||
static struct variable *cp_enqvec_as_var(const char *vec_name,
|
static struct variable *cp_enqvec_as_var(const char *vec_name,
|
||||||
|
|
@ -327,6 +327,11 @@ cp_usrset(struct variable *var, bool isset)
|
||||||
ft_strictnumparse = isset;
|
ft_strictnumparse = isset;
|
||||||
} else if (eq(var->va_name, "strict_errorhandling")) {
|
} else if (eq(var->va_name, "strict_errorhandling")) {
|
||||||
ft_stricterror = isset;
|
ft_stricterror = isset;
|
||||||
|
if (ft_ngdebug)
|
||||||
|
fprintf(stdout, "Note: strict_errorhandling is set\n");
|
||||||
|
/* Immediately bail out when spinit error has occured */
|
||||||
|
if (ft_spiniterror)
|
||||||
|
controlled_exit(EXIT_BAD);
|
||||||
} else if (eq(var->va_name, "rawfileprec")) {
|
} else if (eq(var->va_name, "rawfileprec")) {
|
||||||
if ((var->va_type == CP_BOOL) && (isset == FALSE))
|
if ((var->va_type == CP_BOOL) && (isset == FALSE))
|
||||||
raw_prec = -1;
|
raw_prec = -1;
|
||||||
|
|
|
||||||
|
|
@ -268,6 +268,7 @@ extern struct card *inp_getoptsc(char *line, struct card *options);
|
||||||
extern bool ft_ngdebug;
|
extern bool ft_ngdebug;
|
||||||
extern bool ft_nginfo;
|
extern bool ft_nginfo;
|
||||||
extern bool ft_stricterror;
|
extern bool ft_stricterror;
|
||||||
|
extern bool ft_spiniterror;
|
||||||
extern bool ft_skywaterpdk;
|
extern bool ft_skywaterpdk;
|
||||||
|
|
||||||
/* parse.c */
|
/* parse.c */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue