Applied vera patches and updated Changelog.

This commit is contained in:
pnenzi 2003-07-25 19:57:34 +00:00
parent 4a82e1adbb
commit 78ad27c858
3 changed files with 139 additions and 110 deletions

182
ChangeLog
View File

@ -1,109 +1,135 @@
2003-07-18 Vera Albrecht <albrecht@danalyse.de>
2003-07-25 Paolo Nenzi <p.nenzi@ieee.org>
* src/{main.c,tclspice.c}
src/frontend/{Makefile.am,control.c,control.h,display.c,dotcards.c,
hcomp.c,hpgl.c,outitf.c,parse.c,postcoms.c,postsc.c,runcoms.c,
spiceif.c,variable.c,variable.h,parser/complete.c,plotting/pvec.c}
src/include/{cktdefs.h,ngspice.h}
src/misc/{ivars.c,string.c,stringutil.h}
src/spicelib/analysis/{acan.c,ckt.h,dcop.c}
src/spicelib/devices/bsim3/b3temp.c
src/spicelib/parser/{ifnewuid.c,inp2dot.c,inperror.c} :
Memory leaks and some WINDOWS compile fixes.
* src/main.c: Studied Vera's main.d and introduced changes
following her advices.
* src/frontend/vectors.c: Applied Vera patch.
2003-07-23 Paolo Nenzi <p.nenzi@ieee.org>
2003-07-17 Stefan Jones <stefan.jones@multigig.com>
* A lot of changes that touched too many files to mention each one.
I have introduced the xspice code into ngspice. I take xspice code
from tclspice (0.2.12). Since tclspice started as a branch of
ngspice, I have applied the patches developed for it that correcting
some bugs common to tclspice and ngspice. What follows is the
extract of tclspice Changelog file that describes the changes:
2003-07-18 Vera Albrecht <albrecht@danalyse.de>
* src/frontend/{subckt.c,vectors.c}
src/spicelib/analysis/dctran.c
src/spicelib/parser/inperror.c
src/xspice/idn/idndig.c src/xspice/mif/mif_inp2.c :
More memory leak fixes
* src/{main.c,tclspice.c}
src/frontend/{Makefile.am,control.c,control.h,display.c,
dotcards.c, hcomp.c,hpgl.c,outitf.c,parse.c,postcoms.c,
postsc.c,runcoms.c, spiceif.c,variable.c,variable.h,
parser/complete.c,plotting/pvec.c}
src/include/{cktdefs.h,ngspice.h}
src/misc/{ivars.c,string.c,stringutil.h}
src/spicelib/analysis/{acan.c,ckt.h,dcop.c}
src/spicelib/devices/bsim3/b3temp.c
src/spicelib/parser/{ifnewuid.c,inp2dot.c,inperror.c} :
Memory leaks and some WINDOWS compile fixes.
* configure.in src/xspice/xspice.c :
Fix compile problems with garbage collector
2003-07-17 Stefan Jones <stefan.jones@multigig.com>
* configure.in :
Change --enable-tcl to --with-tcl[=dir] for non-std
install setup.
* src/frontend/{subckt.c,vectors.c}
src/spicelib/analysis/dctran.c
src/spicelib/parser/inperror.c
src/xspice/idn/idndig.c src/xspice/mif/mif_inp2.c :
More memory leak fixes
2003-07-17 Steven Borley <sjb@salix.demon.co.uk>
* configure.in src/xspice/xspice.c :
Fix compile problems with garbage collector
* src/frontend/resource.c src/frontend/parser/complete.c
src/spicelib/devices/txl/txlload.c :
#ifdef fixes to get ngspice to compile on Mac OSX
2003-07-16 Vera Albrecht <albrecht@danalyse.de>
2003-07-17 Steven Borley <sjb@salix.demon.co.uk>
* frontend/{device.c,parse.c,vectors.c,com_compose.c} :
More memory leaks closed in utility commands and functions.
src/spicelib/devices/txl/txlload.c :
Fixed duplicate declaration of pool_vi_txl
2003-07-16 Stefan Jones <stefan.jones@multigig.com>
2003-07-16 Vera Albrecht <albrecht@danalyse.de>
* src/frontend/{com_compose.c,cpitf.c,device.c,subckt.c,vectors.c}
src/frontend/plotting/plotit.c src/include/ngspice.h
src/spicelib/parser/{inp2dot.c,inp2r.c,inpdomod.c,inpdpar.c,inpgmod.c,inppas3.c} :
Rest of the serious deck reader leaks, plus fixes for the last batch.
* frontend/{device.c,parse.c,vectors.c,com_compose.c} :
More memory leaks closed in utility commands and functions.
2003-07-15 Stefan Jones <stefan.jones@multigig.com>
2003-07-16 Stefan Jones <stefan.jones@multigig.com>
* /src/frontend/{com_let.c,com_set.c,evaluate.c,parse.c,variable.c}
src/frontend/parser/complete.c :
Memory leaks plugged
* src/frontend/{com_compose.c,cpitf.c,device.c,subckt.c,
vectors.c}
src/frontend/plotting/plotit.c src/include/ngspice.h
src/spicelib/parser/{inp2dot.c,inp2r.c,inpdomod.c,inpdpar.c,
inpgmod.c,inppas3.c} :
Rest of the serious deck reader leaks, plus fixes for the
last batch.
2003-04-14 Stefan Jones <stefan.jones@multigig.com>
2003-07-15 Stefan Jones <stefan.jones@multigig.com>
* Make all the devices in src/spicelib/devices be built as
archives not shared libraries, and don't install them
* /src/frontend/{com_let.c,com_set.c,evaluate.c,parse.c,
variable.c}
src/frontend/parser/complete.c :
Memory leaks plugged
2003-06-22 Stuart Brorson <sdb@cloud9.net>
2003-04-14 Stefan Jones <stefan.jones@multigig.com>
* Make all the devices in src/spicelib/devices be built
as archives not shared libraries, and don't install them
2003-06-22 Stuart Brorson <sdb@cloud9.net>
* Finally got SPICE2 POLY stuff working. This involved lots of changes
in src/xspice/mif and src/xspice/enh. Particular changes were made in:
-- MIF_INP2A: re-arranged logic to fix parsing problems.
-- two2three_translate: fixed some stupid pointer problems.
-- etc.
* Finally got SPICE2 POLY stuff working. This involved
lots of changes in src/xspice/mif and src/xspice/enh.
Particular changes were made in:
-- MIF_INP2A: re-arranged logic to fix parsing problems.
-- two2three_translate: fixed some stupid pointer problems.
-- etc.
* Revamped src/xspice/icm/ and src/xspice/icm/icm_spice2poly
directories to enable build of POLY codemodel. Makefiles were
fixed, and some stuff was added to enable cmpp (from SPICE Opus)
to build the codemodel precursors correctly. (Note that you need
to download and install SPICE Opus to rebuild the codemodel
stuff. See src/xspice/icm/README for more details.)
* Revamped src/xspice/icm/ and src/xspice/icm/icm_spice2poly
directories to enable build of POLY codemodel.
Makefiles were fixed, and some stuff was added to enable
cmpp (from SPICE Opus) to build the codemodel precursors
correctly. (Note that you need to download and install
SPICE Opus to rebuild the codemodel stuff. See
src/xspice/icm/README for more details.)
* Hacked Makefile.am's for much of the directory hierarchy, particularly
for src/xspice/icm and src/xspice/icm/icm_spice2poly to build the POLY
codemodel correctly. Note that top level make still doesn't detect
changes in the xspice hierarchy; read the NOTES file for a workaround.
* Hacked Makefile.am's for much of the directory hierarchy,
particularly for src/xspice/icm and
src/xspice/icm/icm_spice2poly to build the POLY codemodel
correctly. Note that top level make still doesn't detect
changes in the xspice hierarchy; read the NOTES file for
a workaround.
* Added a SPICE netlist incorporating vendor models with SPICE2
POLYs in tests/TransImpedanceAmp/. Running this model
successfully demonstrates that you have built the XSpice POLY
codemodel correctly and that life is good . . . .
* Added a SPICE netlist incorporating vendor models with
SPICE2 POLYs in tests/TransImpedanceAmp/. Running this
model successfully demonstrates that you have built the
XSpice POLY codemodel correctly and that life is good
. . . .
* Moved #define TRACE out of src/ngspice.h and made it a compiler
option (-DTRACE) invoked in src/Makefile when making spice.o.
* Moved #define TRACE out of src/ngspice.h and made it
a compiler option (-DTRACE) invoked in src/Makefile when
making spice.o.
2003-05-02 Stuart Brorson <sdb@cloud9.net>
2003-05-02 Stuart Brorson <sdb@cloud9.net>
* Added #define TRACE to main.c for use in debugging. Added lots
of printf's in the code which are turned on by defining TRACE.
This is used to help figure out what the program is doing at each
step . . . . .
* Added #define TRACE to main.c for use in debugging.
Added lots of printf's in the code which are turned on
by defining TRACE. This is used to help figure out what
the program is doing at each step . . . . .
* Added lots of comments all over the source tree. This should
help explain what the prog is doing for future hackers.
* Added lots of comments all over the source tree.
This should help explain what the prog is doing for
future hackers.
* Fixed parser to allow POLY attributes in dependent sources
(major changes in src/frontend/subckt.c, as well as move location
of call to ENHtranslate_poly in src/frontend/inp.c)
* Fixed parser to allow POLY attributes in dependent
sources (major changes in src/frontend/subckt.c, as
well as move location of call to ENHtranslate_poly in
src/frontend/inp.c)
* Fixed bug in device init files (src/spicelib/devices/*init.c)
so that Deviceinfo structures operated with XSPICE.
* Fixed bug in device init files
(src/spicelib/devices/*init.c)
so that Deviceinfo structures operated with XSPICE.
* Fixed nasty malloc problem in src/xspice/mif/mifgetmod.c which
casuedfrequent segfaults (when compiled with XSPICE).
* Fixed nasty malloc problem in src/xspice/mif/mifgetmod.c
which casued frequent segfaults (when compiled with XSPICE).
2002-01-03 Paolo Nenzi <p.nenzi@ieee.org>
* acconfig.h: added define needed for Windows and some aesthetic

View File

@ -7,7 +7,7 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
* Routines for dealing with the vector database.
*/
#include <ngspice.h>
#include <spice.h>
#include <cpdefs.h>
#include <ftedefs.h>
#include <dvec.h>
@ -601,33 +601,28 @@ vec_free(struct dvec *v)
/* Now we have to take this dvec out of the plot list. */
if (pl != NULL) {
if (pl->pl_dvecs == v)
pl->pl_dvecs = v->v_next;
else {
for (lv = pl->pl_dvecs; lv->v_next; lv = lv->v_next)
if (lv->v_next == v)
break;
if (lv->v_next == NULL)
fprintf(cp_err,
"vec_free: Internal Error: %s not in plot\n",
v->v_name);
lv->v_next = v->v_next;
}
if (pl->pl_scale == v) {
if (pl->pl_dvecs)
pl->pl_scale = pl->pl_dvecs; /* Random one... */
else
pl->pl_scale = NULL;
}
if (pl->pl_dvecs == v)
pl->pl_dvecs = v->v_next;
else {
for (lv = pl->pl_dvecs; lv->v_next; lv = lv->v_next)
if (lv->v_next == v)
break;
if (lv->v_next == NULL)
fprintf(cp_err,
"vec_free: Internal Error: %s not in plot\n",
v->v_name);
lv->v_next = v->v_next;
}
if (pl->pl_scale == v) {
if (pl->pl_dvecs)
pl->pl_scale = pl->pl_dvecs; /* Random one... */
else
pl->pl_scale = NULL;
}
}
tfree(v->v_name);
if(v->v_length) {
if (isreal(v)) {
tfree(v->v_realdata);
} else {
tfree(v->v_compdata);
}
}
if (v->v_realdata) tfree(v->v_realdata);
if (v->v_compdata) tfree(v->v_compdata);
tfree(v);
return;
}
@ -652,10 +647,10 @@ vec_eq(struct dvec *v1, struct dvec *v2)
rtn = TRUE;
else
rtn = FALSE;
tfree(s1);
tfree(s2);
return rtn;
return rtn;
}
/* Return the name of the vector with the plot prefix stripped off. This

View File

@ -5,6 +5,7 @@
Author: 1985 Wayne A. Christopher
The main routine for ngspice */
#include <ngspice.h>
#include <stdio.h>
@ -167,9 +168,12 @@ void com_loadsnap(wordlist *wl) { return; }
void com_savesnap(wordlist *wl) { return; }
#endif
#endif /* SIMULATOR */
#ifndef SIMULATOR
#ifdef XSPICE
/* saj to get nutmeg to compile, not nice but necessary */
/* saj,dw to get nutmeg to compile, not nice but necessary */
Ipc_Tiein_t g_ipc;
Ipc_Status_t ipc_send_errchk(void ) {
Ipc_Status_t x=0;
@ -291,6 +295,12 @@ append_to_stream(FILE *dest, FILE *source)
fwrite(buf, i, 1, dest);
}
#ifdef SIMULATOR
extern int OUTpBeginPlot(), OUTpData(), OUTwBeginPlot(), OUTwReference();
extern int OUTwData(), OUTwEnd(), OUTendPlot(), OUTbeginDomain();
extern int OUTendDomain(), OUTstopnow(), OUTerror(), OUTattributes();
#endif /* SIMULATOR */
int
#ifdef HAS_WINDOWS
xmain(int argc, char **argv)
@ -305,9 +315,7 @@ main(int argc, char **argv)
#ifdef SIMULATOR
int error2;
extern int OUTpBeginPlot(), OUTpData(), OUTwBeginPlot(), OUTwReference();
extern int OUTwData(), OUTwEnd(), OUTendPlot(), OUTbeginDomain();
extern int OUTendDomain(), OUTstopnow(), OUTerror(), OUTattributes();
static IFfrontEnd nutmeginfo = {
IFnewUid,
IFdelUid,