Commit Graph

5 Commits

Author SHA1 Message Date
Jean-Paul Chaput 0182089511 Merge branch 'devel'
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...
2014-04-22 12:47:31 +02:00
Jean-Paul Chaput 557c836400 Suppress link dependency loop in libraries.
* 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.
2014-04-22 12:30:26 +02:00
Jean-Paul Chaput 0f2a3365ec Bug in Boog/mbkvhdlg. Compilation issues in ocp & ppt.
* 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...
2014-04-07 13:50:48 +02:00
Jean-Paul Chaput 97aee2580b Code cleanup with cppcheck & gcc 4.4.6 (RHEL6).
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.
2014-02-18 14:53:05 +01:00
Jean-Paul Chaput 43da04a7e4 First cleanup after importation from CVS and misc setup.
* 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.
2014-02-07 14:08:53 +01:00