* Change: In <rds>, gds_parse & gds_error, if a layer whose index was not
in the rds file was encountered, it was just discarted but the parsing
did continue, resulting in a possibly incoherent RDS figure.
Now we just stop the parsing and trigger the error mechanism
returning a NULL pointer, which is then safely handled by <dreal>.
Under dreal, the error messages could be retrieved from the
transient log files /tmp/alliance_all_PID, which is removed when
dreal close.
This is the missing message from the N-2 commit.
It also include small corrections.
* Change: There was depency loop in Alliance libraries, mainly between
the database <mbk> and it's parsers/drivers (<mbkap>, <mbkvti>, ...).
This was not causing problems on systems that allows symbols to be
undefined when the library is built, but on others it prevents to
build at least dynamic libraries, for example under Cygwin.
Note: to reproduce this behavior under linux pass '-Wl,-z,-defs'
in the CFLAGS/CXXFLAGS.
Another side effect was to prevent parallel building (-jX).
* Change: <mbkvhdl> is redundant with <mbkvhdlg> which is newer, so
this library is suppressed.
* Change: mbk merged libraries, <mbkap>, <mbkvti> goest into Mpu.
<mbkedif>, <mbkal>, <mbkhilo>, <mbkmg>, <mbkspice>, <mbkmg>,
<mbkvhdlg> and <mbkvrlog> goes into Mlu.
* Change: rds merged libraries, <rdscif> and <rdsgds> goes into Rds.
All Rds sub-libraries are also mergeds into Rds.
* Change: vbh merged libraries, <vbl>, <vvh>, <vtl> & <vpd> goes into
Vbh.
* Change: pat merged libraries, <ppt> & <phl> goes into Pat.
* Change: in <asimut>, the Cst libraries is transferred into <beh> to
be merged with Beh.
Conflicts:
alliance/src/ocp/src/common/Makefile.am
alliance/src/ocp/src/placer/Makefile.am
alliance/src/ppt/src/Makefile.am
Devel was not started from the last master commit, have to
push back the changes again...
* Change: There was depency loop in Alliance libraries, mainly between
the database <mbk> and it's parsers/drivers (<mbkap>, <mbkvti>, ...).
This was not causing problems on systems that allows symbols to be
undefined when the library is built, but on others it prevents to
build at least dynamic libraries, for example under Cygwin.
Note: to reproduce this behavior under linux pass '-Wl,-z,-defs'
in the CFLAGS/CXXFLAGS.
Another side effect was to prevent parallel building (-jX).
* Change: <mbkvhdl> is redundant with <mbkvhdlg> which is newer, so
this library is suppressed.
* Change: mbk merged libraries, <mbkap>, <mbkvti> goest into Mpu.
<mbkedif>, <mbkal>, <mbkhilo>, <mbkmg>, <mbkspice>, <mbkmg>,
<mbkvhdlg> and <mbkvrlog> goes into Mlu.
* Change: rds merged libraries, <rdscif> and <rdsgds> goes into Rds.
All Rds sub-libraries are also mergeds into Rds.
* Change: vbh merged libraries, <vbl>, <vvh>, <vtl> & <vpd> goes into
Vbh.
* Change: pat merged libraries, <ppt> & <phl> goes into Pat.
* Change: in <asimut>, the Cst libraries is transferred into <beh> to
be merged with Beh.
* Bug: In <mbkvhdlg>, cast the hash table index entries from pointer
to unsigned long instead of long to avoid negative numbers when
computing the modulo (shows on Cygwin). This was causing <boog>
to crash.
* Bug: In <ppt>, with bison 2.7, yylval must not be re-declared extern
(didn't show on earlier versions).
* Change: In <ocp>, uses "-std=gnu++0x" instead of "-std=c++0x" to
have both C++11 features *and* POSIX features (namely: strdup).
The problem is that strdup is *not* ANSI, but only POSIX and as
such, not defined when c++0x is active. Will have to change
again in the future as gnu++0x is on the way of deprecation...
This commit is way too big. Next time split it tool by tool.
All tool sources have been checked with cppcheck & gcc. All correctables
errors/warning have been removed:
* Now uses correct conversion specifiers in printf(), mostly 'u' instead
of 'd' for unsigneds.
* In scanf(), uses systematically a maximum field width, 11 for int,
22 for long int and the appropriate length for char*.
* In strcpy(), no longer uses same array for source & dest, but uses
an intermediate array.
* Remove (or comment) unused variables.
* In C++ files, correct constructors attribute initialisation and
disable copy constructors.
* When possible, correct memory leaks. Some corrections would need a
more intimate knowledge of the source than I do.
* Removed some "gets()" calls.
* In parsers, undeclare yyunput & yyinput when necessary.
* NOT correct variable scope as it may clutter the code (my opinion).
Specific tools remark:
* In <asimut>, comment beginning with "FRAGILE" signals a very ugly
trick: structs passed as losig_list but with only the two first
fields identical.
* In <graal> & <dreal> for char used as table index, uses a cast toward
int, but in <xfsm>, <xgra>, <xsch> & <xvpn> simply declares the
variables int.
* In <cells>, dp_nmux_x1.ap, shrink the ALU2 part of the ALU3 terminals
so they do not collide with neighboring track. Has do to it manually
as Graal refuse to shrink them. The same correction must be done on
other cells for nero/kite dual compliance.
* Cleanup: Remove long time unused tools <pcbs>, <grog>, <gcp>, <genview>,
<growstk>, <ocr> and <vst2xnf>. They may still be recovered by
reverting to the original 'v5.1' tag.
* Change: In <attila>, remove the CVS checkout part and adapt to the
slightly different source tree organisation (alliance/alliance/src).
* Setup: Added .gitignore to exclude the files generated "in source" by
automake (when tools are built).
* New: Small script to perform a complete cppcheck on the whole source
tree.
+ Change: In dp_sxlib, dp_mux_x4 & dp_nmux_x1 removes METAL2 blockages
under METAL3 terminals and replace them by strips of METAL2 belonging
to the relevelant net. The previous configuration was generating
impossible cases for Kite to solve.
makefile: alliance-env.mk. Modify all sub-Makefiles accordingly.
Now should be able to run:
1. In the CVS tree (or in the source .tar.gz)
2. In a user installation.
3. In the system wide (packaged) installation.