* gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;

* ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
  by alliance.m4 -> must be added explicitely in each
  Makefile.am

* remove configure.in (generated by autostuff)
This commit is contained in:
Christophe Alexandre 2006-03-29 17:11:09 +00:00
parent 3c20c0416a
commit 1b519c1142
76 changed files with 509 additions and 1426 deletions

View File

@ -128,11 +128,14 @@ extern "C" {
# define ABL_CDR( E ) ( ( E )->NEXT )
# define ABL_CAR( E ) ( (ablexpr *)( E )->DATA )
# define ABL_CAR_L( E ) ( ( E )->DATA )
# define ABL_CADR( E ) ( ABL_CAR( ABL_CDR( ( E ) ) ) )
# define ABL_CADR_L( E ) ( ABL_CAR_L( ABL_CDR( ( E ) ) ) )
# define ABL_CDDR( E ) ( ABL_CDR( ABL_CDR( ( E ) ) ) )
# define ABL_ATOM( E ) ( ( E )->NEXT == (ablexpr *)0 )
# define ABL_ATOM_VALUE( E ) ( (char *)( ( E )->DATA ) )
# define ABL_OPER( E ) ( (long)( ( ABL_CAR( ( E ) ) )->DATA ) )
# define ABL_OPER_L( E ) ( ( ABL_CAR( ( E ) ) )->DATA )
# define SET_ABL_OPER( E,O ) ( ( ABL_CAR( (E) )->DATA = (void *)(O) ) )
/*------------------------------------------------------\

View File

@ -198,14 +198,14 @@ ablexpr *createablnotexpr( Expr )
if ( AtomValue == ABL_ATOM_NAME_ONE )
{
ABL_ATOM_VALUE( Expr ) = (void *)ABL_ATOM_NAME_ZERO;
ABL_CAR_L( Expr ) = (void *)ABL_ATOM_NAME_ZERO;
return( Expr );
}
else
if ( AtomValue == ABL_ATOM_NAME_ZERO )
{
ABL_ATOM_VALUE( Expr ) = (void *)ABL_ATOM_NAME_ONE;
ABL_CAR_L( Expr ) = (void *)ABL_ATOM_NAME_ONE;
return( Expr );
}

View File

@ -109,8 +109,8 @@ static ablexpr *local_normablctl( Expr )
{
NormExpr = local_normablctl( ABL_CADR( Expr ) );
if ( NormExpr != ABL_CADR( Expr ) )
ABL_CADR( Expr ) = NormExpr;
ABL_CADR( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
ABL_CADR_L( Expr ) = NormExpr;
ABL_CADR_L( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
SET_ABL_OPER( Expr, ABL_EX );
NormExpr = createablnotexpr( Expr );
return( NormExpr );
@ -123,7 +123,7 @@ static ablexpr *local_normablctl( Expr )
{
NormExpr = local_normablctl( ABL_CADR( Expr ) );
if ( NormExpr != ABL_CADR( Expr ) )
ABL_CADR( Expr ) = NormExpr;
ABL_CADR_L( Expr ) = NormExpr;
ExprTemp = createablatom( ABL_ATOM_NAME_ONE );
NormExpr = createablbinexpr( ABL_EU,
ExprTemp,
@ -141,8 +141,8 @@ static ablexpr *local_normablctl( Expr )
{
NormExpr = local_normablctl( ABL_CADR( Expr ) );
if ( NormExpr != ABL_CADR( Expr ) )
ABL_CADR( Expr ) = NormExpr;
ABL_CADR( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
ABL_CADR_L( Expr ) = NormExpr;
ABL_CADR_L( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
SET_ABL_OPER( Expr, ABL_EG );
NormExpr = createablnotexpr( Expr );
return( NormExpr );
@ -155,8 +155,8 @@ static ablexpr *local_normablctl( Expr )
{
NormExpr = local_normablctl( ABL_CADR( Expr ) );
if ( NormExpr != ABL_CADR( Expr ) )
ABL_CADR( Expr ) = NormExpr;
ABL_CADR( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
ABL_CADR_L( Expr ) = NormExpr;
ABL_CADR_L( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
SET_ABL_OPER( Expr, ABL_EF );
NormExpr = createablnotexpr( Expr );
NormExpr = local_normablctl( NormExpr );
@ -170,13 +170,13 @@ static ablexpr *local_normablctl( Expr )
{
NormExpr = local_normablctl( ABL_CADR( Expr ) );
if ( NormExpr != ABL_CADR( Expr ) )
ABL_CADR( Expr ) = NormExpr;
ABL_CADR_L( Expr ) = NormExpr;
NormExpr = local_normablctl( ABL_CAR( ABL_CDDR( Expr ) ) );
if ( NormExpr != ABL_CAR( ABL_CDDR( Expr ) ) )
ABL_CAR( ABL_CDDR( Expr ) ) = NormExpr;
ABL_CAR_L( ABL_CDDR( Expr ) ) = NormExpr;
ABL_CADR( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
ABL_CAR( ABL_CDDR( Expr ) ) = createablnotexpr( ABL_CAR( ABL_CDDR( Expr ) ) );
ABL_CADR_L( Expr ) = createablnotexpr( ABL_CADR( Expr ) );
ABL_CAR_L( ABL_CDDR( Expr ) ) = createablnotexpr( ABL_CAR( ABL_CDDR( Expr ) ) );
ExprG1 = dupablexpr( ABL_CAR( ABL_CDDR( Expr ) ) );
ExprG2 = dupablexpr( ABL_CAR( ABL_CDDR( Expr ) ) );
ExprTemp = createablbinexpr( ABL_AND,
@ -209,7 +209,7 @@ static ablexpr *local_normablctl( Expr )
{
NormExpr = local_normablctl( ABL_CAR( ScanExpr ) );
if ( NormExpr != ABL_CAR( ScanExpr ) )
ABL_CAR( ScanExpr ) = NormExpr;
ABL_CAR_L( ScanExpr ) = NormExpr;
NormExpr = Expr;
}

View File

@ -165,7 +165,7 @@ static ablexpr *loc_simpablctl( Expr )
ExprTemp = ABL_CADR( ABL_CADR( Expr ) );
freechain( ABL_CAR( ABL_CADR( Expr ) ) );
freechain( ABL_CADR( Expr ) );
ABL_CADR( Expr ) = ExprTemp;
ABL_CADR_L( Expr ) = ExprTemp;
SimpExpr = Expr;
ExprTemp = loc_simpablctl( SimpExpr );
@ -184,10 +184,10 @@ static ablexpr *loc_simpablctl( Expr )
{
ExprTemp = loc_simpablctl( ABL_CADR( Expr ) );
if ( ExprTemp != ABL_CADR( Expr ) )
ABL_CADR( Expr ) = ExprTemp;
ABL_CADR_L( Expr ) = ExprTemp;
ExprTemp = loc_simpablctl( ABL_CAR( ABL_CDDR( Expr ) ) );
if ( ExprTemp != ABL_CAR( ABL_CDDR( Expr ) ) )
ABL_CAR( ABL_CDDR( Expr ) ) = ExprTemp;
ABL_CAR_L( ABL_CDDR( Expr ) ) = ExprTemp;
if ( ABL_OPER( ABL_CAR( ABL_CDDR( Expr ) ) ) == Oper &&
ABL_CADR( Expr ) != (ablexpr *)0 &&
@ -214,10 +214,10 @@ static ablexpr *loc_simpablctl( Expr )
{
ExprTemp = loc_simpablctl( ABL_CADR( Expr ) );
if ( ExprTemp != ABL_CADR( Expr ) )
ABL_CADR( Expr ) = ExprTemp;
ABL_CADR_L( Expr ) = ExprTemp;
ExprTemp = loc_simpablctl( ABL_CAR( ABL_CDDR( Expr ) ) );
if ( ExprTemp != ABL_CAR( ABL_CDDR( Expr ) ) )
ABL_CAR( ABL_CDDR( Expr ) ) = ExprTemp;
ABL_CAR_L( ABL_CDDR( Expr ) ) = ExprTemp;
if ( ( Oper == ABL_AND &&
ABL_OPER( ABL_CADR( Expr ) ) == ABL_AG &&
@ -265,16 +265,16 @@ static ablexpr *loc_simpablctl( Expr )
SimpExpr = createablbinexpr( ABL_OR,
ABL_CADR( ABL_CADR( ABL_CADR( Expr ) ) ),
ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ) ) ) );
ABL_CADR( ABL_CADR( ABL_CADR( Expr ) ) ) = (ablexpr *)0;
ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ) ) ) = (ablexpr *)0;
ABL_CADR_L( ABL_CADR( ABL_CADR( Expr ) ) ) = (ablexpr *)0;
ABL_CAR_L( ABL_CDDR( ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ) ) ) = (ablexpr *)0;
freeablexpr( Expr );
ExprTemp = loc_simpablctl( ABL_CADR( SimpExpr ) );
if ( ExprTemp != ABL_CADR( SimpExpr ) )
ABL_CADR( SimpExpr ) = ExprTemp;
ABL_CADR_L( SimpExpr ) = ExprTemp;
ExprTemp = loc_simpablctl( ABL_CAR( ABL_CDDR( SimpExpr ) ) );
if ( ExprTemp != ABL_CAR( ABL_CDDR( SimpExpr ) ) )
ABL_CAR( ABL_CDDR( SimpExpr ) ) = ExprTemp;
ABL_CAR_L( ABL_CDDR( SimpExpr ) ) = ExprTemp;
return( SimpExpr );
}
@ -302,16 +302,16 @@ static ablexpr *loc_simpablctl( Expr )
SimpExpr = createablbinexpr( ABL_AND,
ABL_CADR( ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ) ),
ABL_CAR( ABL_CDDR( ABL_CADR( ABL_CADR( Expr ) ) ) ) );
ABL_CADR( ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ) ) = (ablexpr *)0;
ABL_CAR( ABL_CDDR( ABL_CADR( ABL_CADR( Expr ) ) ) ) = (ablexpr *)0;
ABL_CADR_L( ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ) ) = (ablexpr *)0;
ABL_CAR_L( ABL_CDDR( ABL_CADR( ABL_CADR( Expr ) ) ) ) = (ablexpr *)0;
freeablexpr( Expr );
ExprTemp = loc_simpablctl( ABL_CADR( SimpExpr ) );
if ( ExprTemp != ABL_CADR( SimpExpr ) )
ABL_CADR( SimpExpr ) = ExprTemp;
ABL_CADR_L( SimpExpr ) = ExprTemp;
ExprTemp = loc_simpablctl( ABL_CAR( ABL_CDDR( SimpExpr ) ) );
if ( ExprTemp != ABL_CAR( ABL_CDDR( SimpExpr ) ) )
ABL_CAR( ABL_CDDR( SimpExpr ) ) = ExprTemp;
ABL_CAR_L( ABL_CDDR( SimpExpr ) ) = ExprTemp;
return( SimpExpr );
}
@ -349,13 +349,13 @@ static ablexpr *loc_simpablctl( Expr )
ExprTemp = createablbinexpr( ABL_AU,
ABL_CADR( ABL_CADR( Expr ) ),
ABL_CADR( ABL_CADR( ABL_CAR( ABL_CDDR( Expr ) ) ) ) );
ABL_CADR( ABL_CADR( Expr ) ) = (ablexpr *)0;
ABL_CADR( ABL_CADR( ABL_CAR( ABL_CDDR( Expr ) ) ) ) = (ablexpr *)0;
ABL_CADR_L( ABL_CADR( Expr ) ) = (ablexpr *)0;
ABL_CADR_L( ABL_CADR( ABL_CAR( ABL_CDDR( Expr ) ) ) ) = (ablexpr *)0;
SimpExpr = createablbinexpr( ABL_EU,
ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ),
ABL_CADR( ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( Expr ) ) ) ) ) );
ABL_CAR( ABL_CDDR( ABL_CADR( Expr ) ) ) = (ablexpr *)0;
ABL_CADR( ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( Expr ) ) ) ) ) = (ablexpr *)0;
ABL_CAR_L( ABL_CDDR( ABL_CADR( Expr ) ) ) = (ablexpr *)0;
ABL_CADR_L( ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( Expr ) ) ) ) ) = (ablexpr *)0;
SimpExpr = createablbinexpr( ABL_AND,
ExprTemp,
SimpExpr );
@ -363,16 +363,16 @@ static ablexpr *loc_simpablctl( Expr )
ExprTemp = loc_simpablctl( ABL_CADR( ABL_CADR( SimpExpr ) ) );
if ( ExprTemp != ABL_CADR( ABL_CADR( SimpExpr ) ) )
ABL_CADR( ABL_CADR( SimpExpr ) ) = ExprTemp;
ABL_CADR_L( ABL_CADR( SimpExpr ) ) = ExprTemp;
ExprTemp = loc_simpablctl( ABL_CAR( ABL_CDDR( ABL_CADR( SimpExpr ) ) ) );
if ( ExprTemp != ABL_CAR( ABL_CDDR( ABL_CADR( SimpExpr ) ) ) )
ABL_CAR( ABL_CDDR( ABL_CADR( SimpExpr ) ) ) = ExprTemp;
ABL_CAR_L( ABL_CDDR( ABL_CADR( SimpExpr ) ) ) = ExprTemp;
ExprTemp = loc_simpablctl( ABL_CADR( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) );
if ( ExprTemp != ABL_CADR( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) )
ABL_CADR( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) = ExprTemp;
ABL_CADR_L( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) = ExprTemp;
ExprTemp = loc_simpablctl( ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) ) );
if ( ExprTemp != ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) ) )
ABL_CAR( ABL_CDDR( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) ) = ExprTemp;
ABL_CAR_L( ABL_CDDR( ABL_CAR( ABL_CDDR( SimpExpr ) ) ) ) = ExprTemp;
return( SimpExpr );
}
@ -385,7 +385,7 @@ static ablexpr *loc_simpablctl( Expr )
{
SimpExpr = loc_simpablctl( ABL_CAR( ScanExpr ) );
if ( SimpExpr != ABL_CAR( ScanExpr ) )
ABL_CAR( ScanExpr ) = SimpExpr;
ABL_CAR_L( ScanExpr ) = SimpExpr;
SimpExpr = Expr;
}

View File

@ -168,7 +168,7 @@ ablexpr *devablxorexpr( Expr )
while ( ( Expr = ABL_CDR( Expr ) ) != (ablexpr *)0 )
{
ABL_CAR( Expr ) = (void *)devablxorexpr( ABL_CAR( Expr ) );
ABL_CAR_L( Expr ) = (void *)devablxorexpr( ABL_CAR( Expr ) );
}
}

View File

@ -161,14 +161,14 @@ ablexpr *optimablnotexpr( Expr )
if ( AtomValue == ABL_ATOM_NAME_ONE )
{
ABL_ATOM_VALUE( Expr ) = (void *)ABL_ATOM_NAME_ZERO;
ABL_CAR_L( Expr ) = (void *)ABL_ATOM_NAME_ZERO;
return( Expr );
}
else
if ( AtomValue == ABL_ATOM_NAME_ZERO )
{
ABL_ATOM_VALUE( Expr ) = (void *)ABL_ATOM_NAME_ONE;
ABL_CAR_L( Expr ) = (void *)ABL_ATOM_NAME_ONE;
return( Expr );
}

View File

@ -221,7 +221,7 @@ ablexpr *polarablexpr( Expr, Polar )
}
else
{
ABL_CADR( Expr ) = polarablexpr( ABL_CADR( Expr ), ABL_POLAR_POSITIVE );
ABL_CADR_L( Expr ) = polarablexpr( ABL_CADR( Expr ), ABL_POLAR_POSITIVE );
if ( Polar == ABL_POLAR_NEGATIVE )
{
@ -244,7 +244,7 @@ ablexpr *polarablexpr( Expr, Polar )
while ( ( ScanExpr = ABL_CDR( ScanExpr ) ) != (ablexpr *)0 )
{
ABL_CAR( ScanExpr ) = polarablexpr( ABL_CAR( ScanExpr ), Polar );
ABL_CAR_L( ScanExpr ) = polarablexpr( ABL_CAR( ScanExpr ), Polar );
}
}

View File

@ -201,7 +201,7 @@ ablexpr *simpdupexpr( Expr )
if ( AblSimplifyTable[ Oper ][ 1 ] != -1 )
{
freeablexpr( Expr );
ABL_ATOM_VALUE( ExprSimp ) = (char *)AblSimplifyTable[ Oper ][ 1 ];
ABL_CAR_L( ExprSimp ) = (char *)AblSimplifyTable[ Oper ][ 1 ];
if ( Negative == 1 )
{
@ -235,14 +235,14 @@ ablexpr *simpdupexpr( Expr )
if ( ExprQueue == Expr )
{
ExprSimp = ABL_CAR( Expr );
ABL_ATOM_VALUE( ExprSimp ) = (char *)AblSimplifyTable[ Oper ][ 3 ];
ABL_CAR_L( ExprSimp ) = (char *)AblSimplifyTable[ Oper ][ 3 ];
freechain( Expr );
}
else
if ( ExprQueue == ABL_CDR( Expr ) )
{
ExprSimp = ABL_CADR( Expr );
ABL_CADR( Expr ) = (void *)0;
ABL_CADR_L( Expr ) = (void *)0;
freeablexpr( Expr );
}
else
@ -309,7 +309,7 @@ ablexpr *loc_simpablexpr( Expr )
if ( isablunaryoper( Oper ) )
{
ABL_CADR( Expr ) = loc_simpablexpr( ABL_CADR( Expr ) );
ABL_CADR_L( Expr ) = loc_simpablexpr( ABL_CADR( Expr ) );
return( Expr );
}
@ -340,9 +340,9 @@ ablexpr *loc_simpablexpr( Expr )
{
if ( AblSimplifyTable[ Oper ][ 1 ] != -1 )
{
ABL_CAR( ScanExpr ) = (ablexpr *)0;
ABL_CAR_L( ScanExpr ) = (ablexpr *)0;
freeablexpr( Expr );
ABL_ATOM_VALUE( ExprSimp ) = (char *)AblSimplifyTable[ Oper ][ 1 ];
ABL_CAR_L( ExprSimp ) = (char *)AblSimplifyTable[ Oper ][ 1 ];
if ( Negative == 1 )
{
@ -374,12 +374,12 @@ ablexpr *loc_simpablexpr( Expr )
}
else
{
ABL_CAR( ScanExpr ) = ExprSimp;
ABL_CAR_L( ScanExpr ) = ExprSimp;
}
}
else
{
ABL_CAR( ScanExpr ) = ExprSimp;
ABL_CAR_L( ScanExpr ) = ExprSimp;
}
PrevExpr = ScanExpr;
@ -387,14 +387,14 @@ ablexpr *loc_simpablexpr( Expr )
if ( PrevExpr == Expr )
{
ABL_ATOM_VALUE( Expr ) = (char *)AblSimplifyTable[ Oper ][ 3 ];
ABL_CAR_L( Expr ) = (char *)AblSimplifyTable[ Oper ][ 3 ];
ExprSimp = Expr;
}
else
if ( PrevExpr == ABL_CDR( Expr ) )
{
ExprSimp = ABL_CADR( Expr );
ABL_CADR( Expr ) = (void *)0;
ABL_CADR_L( Expr ) = (void *)0;
freeablexpr( Expr );
}
else

View File

@ -105,7 +105,7 @@ static ablexpr *loc_substablexpr( Expr )
while ( ( Expr = ABL_CDR( Expr ) ) )
{
ABL_CAR( Expr ) = loc_substablexpr( ABL_CAR( Expr ) );
ABL_CAR_L( Expr ) = loc_substablexpr( ABL_CAR( Expr ) );
}
return( ExprSubst );

View File

@ -119,7 +119,7 @@ ablexpr *unflatablexpr( Expr )
while ( ( ScanExpr = ABL_CDR( ScanExpr ) ) != (ablexpr *)0 )
{
ABL_CAR( ScanExpr ) = unflatablexpr( ABL_CAR( ScanExpr ) );
ABL_CAR_L( ScanExpr ) = unflatablexpr( ABL_CAR( ScanExpr ) );
}
}

View File

@ -48,6 +48,7 @@
# include "abt.h"
# include <stdio.h>
# include <string.h>
# include "bhl_error.h"
# include "bhl_delaux.h"
@ -167,7 +168,7 @@ static chain_list *bhl_delauxexpr( Expr )
bhlerror( BHL_OPERATOR_ERROR, Oper );
}
ABL_CAR( Expr ) = bhl_delauxexpr( ABL_CAR( Expr ) );
ABL_CAR_L( Expr ) = bhl_delauxexpr( ABL_CAR( Expr ) );
return( FirstExpr );
}
@ -209,11 +210,11 @@ static chain_list *bhl_delauxexpr( Expr )
bhlerror( BHL_OPERATOR_ERROR, Oper );
}
ABL_CAR( Expr ) = bhl_delauxexpr( ABL_CAR( Expr ) );
ABL_CAR_L( Expr ) = bhl_delauxexpr( ABL_CAR( Expr ) );
while ( ( Expr = ABL_CDR( Expr ) ) != (chain_list *)0 )
{
ABL_CAR( Expr ) = bhl_delauxexpr( ABL_CAR( Expr ) );
ABL_CAR_L( Expr ) = bhl_delauxexpr( ABL_CAR( Expr ) );
}
return( FirstExpr );

View File

@ -50,8 +50,8 @@ dnl ifelse([$2], , :, [$2])
dnl fi
CFLAGS="-I${ALLIANCE_TOP}/include $CFLAGS"
LDFLAGS="-L${ALLIANCE_TOP}/lib $LDFLAGS"
dnl CFLAGS="-I${ALLIANCE_TOP}/include $CFLAGS"
dnl LDFLAGS="-L${ALLIANCE_TOP}/lib $LDFLAGS"
AC_ARG_ENABLE(devel,

View File

@ -811,7 +811,7 @@ void loc_stablebddcircuitabl( Expr )
if ( Name != (char *)0 )
{
ABL_CAR( Expr ) = addchain( (chain_list *)0, (void *)ABL_STABLE );
ABL_CAR_L( Expr ) = addchain( (chain_list *)0, (void *)ABL_STABLE );
addablhexpr( Expr, createablatom( Name ) );
}
}

View File

@ -551,7 +551,7 @@ chain_list *convertbddnodesumabl( BddSystem, NameArray, IndexArray, BddNode )
if ( ABL_CDDR( BddConvertSumProd ) == (chain_list *)0 )
{
SumProd = ABL_CADR( BddConvertSumProd );
ABL_CADR( BddConvertSumProd ) = (chain_list *)0;
ABL_CADR_L( BddConvertSumProd ) = (chain_list *)0;
freeablexpr( BddConvertSumProd );
BddConvertSumProd = SumProd;

View File

@ -1,11 +1,12 @@
## Process this file with automake to produce Makefile.in
AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/abe/src \
AM_CFLAGS = -I$(top_srcdir)/abe/src \
-I$(top_srcdir)/abl/src \
-I$(top_srcdir)/abv/src \
-I$(top_srcdir)/bdd/src \
-I$(top_srcdir)/aut/src \
-I$(top_srcdir)/mbk/src
-I$(top_srcdir)/mbk/src \
@ALLIANCE_CFLAGS@
bin_PROGRAMS = boog

View File

@ -152,7 +152,7 @@ static chain_list* format_subst_abl( chain_list* abl, beaux_list *BeauxSubst )
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain) = format_subst_abl( ABL_CAR( chain ), BeauxSubst );
ABL_CAR_L(chain) = format_subst_abl( ABL_CAR( chain ), BeauxSubst );
}
return abl;

View File

@ -47,15 +47,15 @@ extern chain_list* inv_oper(chain_list* abl, int negativ)
if (ABL_ATOM(abl)) {
if (ABL_ATOM_VALUE(abl)==getablatomzero()) {
if (negativ) ABL_ATOM_VALUE(abl)=getablatomone();
if (negativ) ABL_CAR_L(abl)=getablatomone();
}
else if (ABL_ATOM_VALUE(abl)==getablatomone()) {
if (negativ) ABL_ATOM_VALUE(abl)=getablatomzero();
if (negativ) ABL_CAR_L(abl)=getablatomzero();
}
else {
if (negativ) {
abl=createablnotexpr(abl);
ABL_ARITY(abl)=1;
ABL_ARITY_L(abl)=1;
}
}
return abl;
@ -63,30 +63,30 @@ extern chain_list* inv_oper(chain_list* abl, int negativ)
switch (ABL_OPER(abl)) {
case ABL_AND:
if (negativ) ABL_OPER(abl)=ABL_NAND;
else ABL_OPER(abl)=ABL_NOR;
if (negativ) ABL_OPER_L(abl)=ABL_NAND;
else ABL_OPER_L(abl)=ABL_NOR;
negativ=!negativ;
break;
case ABL_NAND:
if (negativ) ABL_OPER(abl)=ABL_NOR;
else ABL_OPER(abl)=ABL_NAND;
if (negativ) ABL_OPER_L(abl)=ABL_NOR;
else ABL_OPER_L(abl)=ABL_NAND;
break;
case ABL_OR:
if (negativ) ABL_OPER(abl)=ABL_NOR;
else ABL_OPER(abl)=ABL_NAND;
if (negativ) ABL_OPER_L(abl)=ABL_NOR;
else ABL_OPER_L(abl)=ABL_NAND;
negativ=!negativ;
break;
case ABL_NOR:
if (negativ) ABL_OPER(abl)=ABL_NAND;
else ABL_OPER(abl)=ABL_NOR;
if (negativ) ABL_OPER_L(abl)=ABL_NAND;
else ABL_OPER_L(abl)=ABL_NOR;
break;
case ABL_XOR:
if (negativ) ABL_OPER(abl)=ABL_NXOR;
if (negativ) ABL_OPER_L(abl)=ABL_NXOR;
negativ=0;
/*nothing to do: same size XOR and NXOR*/
break;
case ABL_NXOR:
if (negativ) ABL_OPER(abl)=ABL_XOR;
if (negativ) ABL_OPER_L(abl)=ABL_XOR;
negativ=0;
/*nothing to do*/
break;
@ -98,7 +98,7 @@ extern chain_list* inv_oper(chain_list* abl, int negativ)
case ABL_STABLE:
if (negativ) {
abl=createablnotexpr(abl);
ABL_ARITY(abl)=1;
ABL_ARITY_L(abl)=1;
}
return abl;
default:
@ -107,7 +107,7 @@ extern chain_list* inv_oper(chain_list* abl, int negativ)
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=inv_oper(ABL_CAR(chain),negativ);
ABL_CAR_L(chain)=inv_oper(ABL_CAR(chain),negativ);
}
return abl;
@ -141,7 +141,7 @@ extern chain_list* build_negativ(chain_list* abl)
if (ABL_OPER(abl)==ABL_STABLE) return abl;
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=build_negativ(ABL_CAR(chain));
ABL_CAR_L(chain)=build_negativ(ABL_CAR(chain));
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
@ -182,29 +182,29 @@ extern chain_list* build_negativ(chain_list* abl)
if (ABL_ATOM(leaf)) {
/*constant undifferent*/
if (ABL_ATOM_VALUE(leaf)==getablatomzero())
ABL_ATOM_VALUE(leaf)=getablatomone();
ABL_CAR_L(leaf)=getablatomone();
else if (ABL_ATOM_VALUE(leaf)==getablatomone())
ABL_ATOM_VALUE(leaf)=getablatomzero();
ABL_CAR_L(leaf)=getablatomzero();
else {
ABL_CAR(chain)=createablnotexpr(ABL_CAR(chain));
ABL_ARITY(ABL_CAR(chain))=1;
ABL_CAR_L(chain)=createablnotexpr(ABL_CAR(chain));
ABL_ARITY_L(ABL_CAR(chain))=1;
}
continue;
}
else if (ABL_OPER(leaf)==ABL_STABLE) {
ABL_CAR(chain)=createablnotexpr(ABL_CAR(chain));
ABL_ARITY(ABL_CAR(chain))=1;
ABL_CAR_L(chain)=createablnotexpr(ABL_CAR(chain));
ABL_ARITY_L(ABL_CAR(chain))=1;
continue;
}
switch (ABL_OPER(leaf)) {
case ABL_AND: ABL_OPER(leaf)=ABL_NAND; break;
case ABL_OR: ABL_OPER(leaf)=ABL_NOR; break;
case ABL_NAND: ABL_OPER(leaf)=ABL_AND; break;
case ABL_NOR: ABL_OPER(leaf)=ABL_OR; break;
case ABL_XOR: ABL_OPER(leaf)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER(leaf)=ABL_XOR; break;
case ABL_AND: ABL_OPER_L(leaf)=ABL_NAND; break;
case ABL_OR: ABL_OPER_L(leaf)=ABL_NOR; break;
case ABL_NAND: ABL_OPER_L(leaf)=ABL_AND; break;
case ABL_NOR: ABL_OPER_L(leaf)=ABL_OR; break;
case ABL_XOR: ABL_OPER_L(leaf)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER_L(leaf)=ABL_XOR; break;
case ABL_NOT:
ABL_CAR(chain)=ABL_CADR(leaf);
ABL_CAR_L(chain)=ABL_CADR(leaf);
freechain(leaf);
break;
default:
@ -214,10 +214,10 @@ extern chain_list* build_negativ(chain_list* abl)
}
switch (ABL_OPER(abl)) {
case ABL_AND: ABL_OPER(abl)=ABL_NOR; break;
case ABL_OR: ABL_OPER(abl)=ABL_NAND; break;
case ABL_NAND: ABL_OPER(abl)=ABL_OR; break;
case ABL_NOR: ABL_OPER(abl)=ABL_AND; break;
case ABL_AND: ABL_OPER_L(abl)=ABL_NOR; break;
case ABL_OR: ABL_OPER_L(abl)=ABL_NAND; break;
case ABL_NAND: ABL_OPER_L(abl)=ABL_OR; break;
case ABL_NOR: ABL_OPER_L(abl)=ABL_AND; break;
case ABL_NOT:
chain=abl;
abl=ABL_CADR(abl);

View File

@ -27,7 +27,7 @@
* Author : Francois Donnet
*/
#include <stdlib.h>
#include <mut.h>
#include <abl.h>
#include <abe.h>
@ -248,7 +248,7 @@ static chain_list *permutations_abl(chain_list* abl)
/*put the operator*/
for (chain=list_abl; chain; chain=chain->NEXT) {
head=createabloper(ABL_OPER(abl));
ABL_ARITY(head)=ABL_ARITY(abl);
ABL_ARITY_L(head)=ABL_ARITY(abl);
ABL_CDR(head)=dupablchain(chain->DATA);
chain->DATA=head;
}

View File

@ -52,9 +52,9 @@ extern void swap_pointers(chain_list* abl1, chain_list* abl2)
car=ABL_CAR(abl1);
cdr=ABL_CDR(abl1);
ABL_CAR(abl1)=ABL_CAR(abl2);
ABL_CAR_L(abl1)=ABL_CAR(abl2);
ABL_CDR(abl1)=ABL_CDR(abl2);
ABL_CAR(abl2)=car;
ABL_CAR_L(abl2)=car;
ABL_CDR(abl2)=cdr;
}
@ -80,12 +80,12 @@ extern void invert_port(port_list* port)
if (ABL_ATOM(port->ABL)) {
name=getoppositename(ABL_ATOM_VALUE(port->ABL));
if (is_signal(name)) ABL_ATOM_VALUE(port->ABL)=name;
if (is_signal(name)) ABL_CAR_L(port->ABL)=name;
else
{
/*add a not*/
not=createabloper(ABL_NOT);
ABL_ARITY(not)=1;
ABL_ARITY_L(not)=1;
/*swap pointers references*/
swap_pointers(port->ABL,not);
ABL_CDR(port->ABL)=addchain(NULL,not);
@ -94,14 +94,14 @@ extern void invert_port(port_list* port)
else
{
switch (ABL_OPER(port->ABL)) {
case ABL_AND: ABL_OPER(port->ABL)=ABL_NAND; break;
case ABL_NAND: ABL_OPER(port->ABL)=ABL_AND; break;
case ABL_OR: ABL_OPER(port->ABL)=ABL_NOR; break;
case ABL_NOR: ABL_OPER(port->ABL)=ABL_OR; break;
case ABL_XOR: ABL_OPER(port->ABL)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER(port->ABL)=ABL_XOR; break;
case ABL_AND: ABL_OPER_L(port->ABL)=ABL_NAND; break;
case ABL_NAND: ABL_OPER_L(port->ABL)=ABL_AND; break;
case ABL_OR: ABL_OPER_L(port->ABL)=ABL_NOR; break;
case ABL_NOR: ABL_OPER_L(port->ABL)=ABL_OR; break;
case ABL_XOR: ABL_OPER_L(port->ABL)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER_L(port->ABL)=ABL_XOR; break;
case ABL_NOT: /*no need to insert*/
port->ABL=ABL_CADR(port->ABL); continue;
port->ABL=ABL_CADR_L(port->ABL); continue;
default:
fprintf(stderr,
"invert_port: oper %s forbidden at this level\n",
@ -112,7 +112,7 @@ extern void invert_port(port_list* port)
/*insert a NOT to match perfectly with cell*/
not=createabloper(ABL_NOT);
ABL_ARITY(not)=1;
ABL_ARITY_L(not)=1;
/*swap pointers references*/
swap_pointers(port->ABL,not);
ABL_CDR(port->ABL)=addchain(NULL,not);
@ -160,12 +160,12 @@ static chain_list* loc_adapt_abl(chain_list* expr, float C)
/*evaluate with the biggest oper*/
int arity=ABL_ARITY(expr); /*memorize arity*/
/*search the biggest arity which matches expr*/
for (ABL_ARITY(expr)=ABL_ARITY(expr)-1 ; ABL_ARITY(expr)>0;
ABL_ARITY(expr)--) {
for (ABL_ARITY_L(expr)=ABL_ARITY(expr)-1 ; ABL_ARITY(expr)>0;
ABL_ARITY_L(expr)--) {
cell=cell_prepare(expr);
if (cell) break;
}
ABL_ARITY(expr)=arity; /*put back arity*/
ABL_ARITY_L(expr)=arity; /*put back arity*/
if (!cell) {
fprintf(stderr,"Library Error: No cell could match '");
display_abl(expr);
@ -181,7 +181,7 @@ static chain_list* loc_adapt_abl(chain_list* expr, float C)
return expr;
}
for (abl=ABL_CDR(expr); abl; abl=ABL_CDR(abl)) {
ABL_CAR(abl)=loc_adapt_abl(ABL_CAR(abl),port->C);
ABL_CAR_L(abl)=loc_adapt_abl(ABL_CAR(abl),port->C);
}
return expr;
}
@ -241,12 +241,12 @@ extern chain_list* adapt_abl(chain_list* expr)
/*evaluate with the biggest oper*/
arity=ABL_ARITY(expr); /*memorize arity*/
/*search the biggest arity which matches expr*/
for (ABL_ARITY(expr)=ABL_ARITY(expr)-1 ; ABL_ARITY(expr)>0;
ABL_ARITY(expr)--) {
for (ABL_ARITY_L(expr)=ABL_ARITY(expr)-1 ; ABL_ARITY(expr)>0;
ABL_ARITY_L(expr)--) {
cell=cell_prepare(expr);
if (cell) break;
}
ABL_ARITY(expr)=arity; /*put back arity*/
ABL_ARITY_L(expr)=arity; /*put back arity*/
if (!cell) {
fprintf(stderr,"Library Error: No cell could match '");
display_abl(expr);
@ -261,7 +261,7 @@ extern chain_list* adapt_abl(chain_list* expr)
return expr;
}
for (abl=ABL_CDR(expr); abl; abl=ABL_CDR(abl)) {
ABL_CAR(abl)=loc_adapt_abl(ABL_CAR(abl),port->C);
ABL_CAR_L(abl)=loc_adapt_abl(ABL_CAR(abl),port->C);
}
return expr;
}
@ -315,7 +315,7 @@ extern biabl_list* adapt_bus(biabl_list* biabl)
biabl->VALABL=build_negativ(biabl->VALABL);
biabl->VALABL=createablnotexpr(biabl->VALABL);
/* createablnotexpr() can simplify*/
if (!ABL_ATOM(biabl->VALABL)) ABL_ARITY(biabl->VALABL)=1;
if (!ABL_ATOM(biabl->VALABL)) ABL_ARITY_L(biabl->VALABL)=1;
}
cell=cell_prepare_bus(biabl);

View File

@ -406,7 +406,7 @@ extern cell_list* cell_pattern(chain_list* expr)
/*create a temporary NOT to match perfectly with cell*/
not=createabloper(ABL_NOT);
ABL_CDR(not)=addchain(NULL,NULL);
ABL_ARITY(not)=1;
ABL_ARITY_L(not)=1;
/*take those are biggest*/
for (cell=getcell_logic_lib(); cell; cell=cell->NEXT) {
@ -497,7 +497,7 @@ extern cell_list* cell_pattern(chain_list* expr)
exit(1);
}
if (port->NEGATIV) {
ABL_CADR(not)=port->ABL;
ABL_CADR_L(not)=port->ABL;
delay=port->T+find_delay(not, port->C);
}
else delay=port->T+find_delay(port->ABL, port->C);
@ -566,7 +566,7 @@ extern cell_list* cell_pattern_bus(biabl_list* biabl)
/*create a temporary NOT to match perfectly with cell*/
not=createabloper(ABL_NOT);
ABL_CDR(not)=addchain(NULL,NULL);
ABL_ARITY(not)=1;
ABL_ARITY_L(not)=1;
for (cell=getcell_tristate_lib(); cell; cell=cell->NEXT) {
/*prepare for use*/
@ -642,7 +642,7 @@ extern cell_list* cell_pattern_bus(biabl_list* biabl)
exit(1);
}
if (port->NEGATIV) {
ABL_CADR(not)=port->ABL;
ABL_CADR_L(not)=port->ABL;
delay=port->T+find_delay(not, port->C);
}
else delay=port->T+find_delay(port->ABL, port->C);
@ -713,7 +713,7 @@ extern cell_list* cell_pattern_reg(biabl_list* biabl)
/*create a temporary NOT to match perfectly with cell*/
not=createabloper(ABL_NOT);
ABL_CDR(not)=addchain(NULL,NULL);
ABL_ARITY(not)=1;
ABL_ARITY_L(not)=1;
cell=getcell_register_lib();
@ -791,7 +791,7 @@ extern cell_list* cell_pattern_reg(biabl_list* biabl)
exit(1);
}
if (port->NEGATIV) {
ABL_CADR(not)=port->ABL;
ABL_CADR_L(not)=port->ABL;
delay=port->T+find_delay(not, port->C);
}
else delay=port->T+find_delay(port->ABL, port->C);
@ -879,12 +879,12 @@ extern chain_list* build_reference(befig_list* befig, port_list* port, port_list
}
/*refer to new port*/
ABL_ATOM_VALUE(abl)=(chain_list*)port;
ABL_CAR_L(abl)=(chain_list*)port;
return abl; /*head unchanged*/
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=build_reference(befig,port,internal_port,ABL_CAR(chain));
ABL_CAR_L(chain)=build_reference(befig,port,internal_port,ABL_CAR(chain));
}
/*mark if STABLE*/
@ -932,7 +932,7 @@ extern port_list* internal_reference(befig_list* befig, port_list* port, chain_l
port_aux->DIRECTION=INOUT;
/*refer to new port*/
ABL_ATOM_VALUE(abl)=(chain_list*)port_aux;
ABL_CAR_L(abl)=(chain_list*)port_aux;
return port_aux;
}

View File

@ -54,7 +54,7 @@ extern void put_arity_abl (chain_list* abl)
put_arity_abl((chain_list*)ABL_CAR(pattern));
}
ABL_ARITY(abl)=arity;
ABL_ARITY_L(abl)=arity;
return ;
}

View File

@ -45,6 +45,7 @@
/*head operator arity*/
/* Warning: simpablexpr() do not work anymore after pulling arity */
#define ABL_ARITY(abl) ((int)ABL_CDR((chain_list*)ABL_CAR(abl)))
#define ABL_ARITY_L(abl) (ABL_CDR((chain_list*)ABL_CAR(abl)))
/***************************************************************************/
/* put arity operator in abl->DATA->NEXT field */

View File

@ -41,8 +41,8 @@
#include "bog_normalize_DAG.h"
#define USING(node) {(int)node=-mark;}
#define USED(node) {(int)node=(int)((((int)node<0)?0:(int)node)+1);}
#define USING(node) {node=-mark;}
#define USED(node) {node=(int)((((int)node<0)?0:(int)node)+1);}
#define IS_USING(node) ((int)node==-mark)
#define IS_USED(node) ((int)node!=0)
#define IS_UNUSED(node) ((int)node==0)
@ -128,7 +128,7 @@ static chain_list* inter_equi(equi_list *equi, chain_list *abl)
head=abl;
for (abl=ABL_CDR(head); abl; abl=ABL_CDR(abl)) {
ABL_CAR(abl)=inter_equi(equi,ABL_CAR(abl));
ABL_CAR_L(abl)=inter_equi(equi,ABL_CAR(abl));
}
return head;
@ -159,7 +159,7 @@ static chain_list* replace_equi(chain_list* abl)
head=abl;
for (abl=ABL_CDR(head); abl; abl=ABL_CDR(abl)) {
ABL_CAR(abl)=replace_equi(ABL_CAR(abl));
ABL_CAR_L(abl)=replace_equi(ABL_CAR(abl));
}
return head;

View File

@ -49,12 +49,12 @@ static void find_d_z_abl(chain_list* abl, int value)
if (ABL_ATOM_VALUE(abl)==getablatomdc()/* = namealloc("'d'")*/) {
/*non standard IEEE VHDL*/ /*it means "don't care"*/
/* we can put zero either one, only to simplify*/
ABL_ATOM_VALUE(abl)=value?getablatomone():getablatomzero();
ABL_CAR_L(abl)=value?getablatomone():getablatomzero();
}
else if (ABL_ATOM_VALUE(abl)==getablatomtristate()/* =namealloc("'z'")*/){
/*no drive on signal*/
/* a pull-up is done for better conductance*/
ABL_ATOM_VALUE(abl)=getablatomone()/* = namealloc("'1'")*/;
ABL_CAR_L(abl)=getablatomone()/* = namealloc("'1'")*/;
}
}

View File

@ -53,7 +53,7 @@ static void changename(chain_list* abl)
if (ABL_ATOM(abl)) {
elem=searchauthelem(HTABLE,ABL_ATOM_VALUE(abl));
if (!elem) return;
ABL_ATOM_VALUE(abl)=(char*) elem->VALUE;
ABL_CAR_L(abl)=(char*) elem->VALUE;
return;
}

View File

@ -28,7 +28,7 @@
*/
#include <stdlib.h>
#include <mut.h>
#include <abl.h>
#include <abe.h>
@ -48,7 +48,7 @@ static chain_list* unflatnegexpr(chain_list* abl)
if (ABL_ATOM(abl)) return abl;
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=unflatnegexpr(ABL_CAR(chain));
ABL_CAR_L(chain)=unflatnegexpr(ABL_CAR(chain));
count++;
}
@ -57,13 +57,13 @@ static chain_list* unflatnegexpr(chain_list* abl)
switch(ABL_OPER(abl)) {
case ABL_NAND:
ABL_OPER(abl)=ABL_AND;
ABL_OPER_L(abl)=ABL_AND;
return createablnotexpr(abl);
case ABL_NOR:
ABL_OPER(abl)=ABL_OR;
ABL_OPER_L(abl)=ABL_OR;
return createablnotexpr(abl);
case ABL_NXOR:
ABL_OPER(abl)=ABL_XOR;
ABL_OPER_L(abl)=ABL_XOR;
return createablnotexpr(abl);
default: return abl;
}

View File

@ -64,7 +64,7 @@ static chain_list* change_atom(chain_list* abl,int invert)
if (ABL_ATOM(abl)) {
if (!invert) return abl;
ABL_ATOM_VALUE(abl)=getoppositename(ABL_ATOM_VALUE(abl));
ABL_CAR_L(abl)=getoppositename(ABL_ATOM_VALUE(abl));
return createablnotexpr(abl);
}
@ -74,7 +74,7 @@ static chain_list* change_atom(chain_list* abl,int invert)
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=change_atom(ABL_CAR(chain),invert);
ABL_CAR_L(chain)=change_atom(ABL_CAR(chain),invert);
}
return abl;
@ -227,7 +227,7 @@ static void search_name(char* name)
/* keep the NOT to use inverter bus */
if (is_tristate_inverter_lib() &&
!ABL_ATOM(biabl->VALABL) && ABL_OPER(biabl->VALABL)==ABL_NOT) {
ABL_CADR(biabl->VALABL)=unflatten_abl(ABL_CADR(biabl->VALABL));
ABL_CADR_L(biabl->VALABL)=unflatten_abl(ABL_CADR(biabl->VALABL));
}
else biabl->VALABL=unflatten_abl(biabl->VALABL); /*arity solver*/
biabl->CNDABL=unflatten_abl(biabl->CNDABL); /*arity solver*/
@ -342,7 +342,7 @@ extern void unflatten_befig(befig_list *befig_param)
/* keep the NOT to use inverter bus */
if (is_tristate_inverter_lib() &&
!ABL_ATOM(biabl->VALABL) && ABL_OPER(biabl->VALABL)==ABL_NOT) {
ABL_CADR(biabl->VALABL)=unflatten_abl(ABL_CADR(biabl->VALABL));
ABL_CADR_L(biabl->VALABL)=unflatten_abl(ABL_CADR(biabl->VALABL));
}
else biabl->VALABL=unflatten_abl(biabl->VALABL); /*arity solver*/
biabl->CNDABL=unflatten_abl(biabl->CNDABL); /*arity solver*/

View File

@ -2,13 +2,14 @@
bin_PROGRAMS = boom
AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/abe/src \
AM_CFLAGS = -I$(top_srcdir)/abe/src \
-I$(top_srcdir)/abl/src \
-I$(top_srcdir)/abt/src \
-I$(top_srcdir)/abv/src \
-I$(top_srcdir)/aut/src \
-I$(top_srcdir)/bdd/src \
-I$(top_srcdir)/mbk/src
-I$(top_srcdir)/mbk/src \
@ALLIANCE_CFLAGS@
boom_LDADD = @ALLIANCE_LIBS@ \
-L$(top_srcdir)/abv/src \

View File

@ -153,7 +153,7 @@ static chain_list *BoomBddIndex2Abl( Index )
if ( Name != (char *)0 )
{
ABL_CAR( Atom ) = addchain( (chain_list *)0, (void *)ABL_STABLE );
ABL_CAR_L( Atom ) = addchain( (chain_list *)0, (void *)ABL_STABLE );
addablhexpr( Atom, createablatom( Name ) );
}
@ -1550,7 +1550,7 @@ static chain_list *BoomReverseAbl( Expr )
while ( ( ScanExpr = ABL_CDR( ScanExpr ) ) != (chain_list *)0 )
{
ABL_CAR( ScanExpr ) = BoomReverseAbl( ABL_CAR( ScanExpr ) );
ABL_CAR_L( ScanExpr ) = BoomReverseAbl( ABL_CAR( ScanExpr ) );
}
}

View File

@ -192,7 +192,7 @@ static ablexpr *BoomCreateAuxAbl( Expr )
while ( ( ScanExpr = ABL_CDR( ScanExpr ) ) != (chain_list *)0 )
{
ABL_CAR( ScanExpr ) = BoomCreateAuxAbl( ABL_CAR( ScanExpr ) );
ABL_CAR_L( ScanExpr ) = BoomCreateAuxAbl( ABL_CAR( ScanExpr ) );
}
BddNode = BoomGetBddMarkAbl( Expr );
@ -417,7 +417,7 @@ static ablexpr *BoomReplaceUselessAuxAbl( Expr )
while ( ( ScanExpr = ABL_CDR( ScanExpr ) ) != (chain_list *)0 )
{
ABL_CAR( ScanExpr ) = BoomReplaceUselessAuxAbl( ABL_CAR( ScanExpr ) );
ABL_CAR_L( ScanExpr ) = BoomReplaceUselessAuxAbl( ABL_CAR( ScanExpr ) );
}
}

View File

@ -200,13 +200,13 @@ static ablexpr *BoomCreateAuxInitComparatorAbl( Expr )
if ( Operand1 == (ablexpr *)0 )
{
Operand1 = ABL_CAR( ScanExpr );
ABL_CAR( ScanExpr ) = (ablexpr *)0;
ABL_CAR_L( ScanExpr ) = (ablexpr *)0;
continue;
}
Operand2 = ABL_CAR( ScanExpr );
ABL_CAR( ScanExpr ) = (ablexpr *)0;
ABL_CAR_L( ScanExpr ) = (ablexpr *)0;
AuxExpr = createablbinexpr( ABL_XOR, Operand1, Operand2 );
AuxName = BoomGetNewAuxInitName();
@ -238,7 +238,7 @@ static ablexpr *BoomCreateAuxInitComparatorAbl( Expr )
while ( ( ScanExpr = ABL_CDR( ScanExpr ) ) != (ablexpr *)0 )
{
ABL_CAR( ScanExpr ) = BoomCreateAuxInitComparatorAbl( ABL_CAR( ScanExpr ) );
ABL_CAR_L( ScanExpr ) = BoomCreateAuxInitComparatorAbl( ABL_CAR( ScanExpr ) );
}
}

View File

@ -1083,7 +1083,7 @@ static void BoomBddReplaceKeepAuxAbl( Expr )
if ( Element != (authelem *)0 )
{
ABL_ATOM_VALUE( Expr ) = (char *)Element->VALUE;
ABL_CAR_L( Expr ) = (char *)Element->VALUE;
}
}
}

View File

@ -103,7 +103,7 @@ static void BoomReplaceDontCareAbl( Expr )
if ( ABL_ATOM_VALUE( Expr ) == ABL_ATOM_NAME_DC )
{
BoomFoundAblDc = 1;
ABL_ATOM_VALUE( Expr ) = ABL_ATOM_NAME_ZERO;
ABL_CAR_L( Expr ) = ABL_ATOM_NAME_ZERO;
}
}

View File

@ -106,7 +106,7 @@ static void BoomRenameAuxVectorAbl( Expr )
if ( Element != (authelem *)0 )
{
ABL_ATOM_VALUE( Expr ) = (char *)Element->VALUE;
ABL_CAR_L( Expr ) = (char *)Element->VALUE;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -65,6 +65,10 @@
\
((rdsrec_list **)((R)->USER))
# define DREAL_PREVIOUS_L( R ) \
\
((R)->USER)
# define DREAL_WINDOW( R ) \
\
(((drealrec *)((char *)(R)+sizeof(rdsrec_list)))->WINDOW )

View File

@ -213,7 +213,7 @@ void DrealAddFigure( Name )
Rectangle != (rdsrec_list *)NULL;
Rectangle = Rectangle->NEXT )
{
DREAL_PREVIOUS( Rectangle ) = Previous;
DREAL_PREVIOUS_L( Rectangle ) = Previous;
Previous = &Rectangle->NEXT;
DrealInsertRectangle( Rectangle );
@ -230,7 +230,7 @@ void DrealAddFigure( Name )
Rectangle != (rdsrec_list *)NULL;
Rectangle = Rectangle->NEXT )
{
DREAL_PREVIOUS( Rectangle ) = (rdsrec_list **)Instance;
DREAL_PREVIOUS_L( Rectangle ) = (rdsrec_list **)Instance;
DrealInsertRectangle( Rectangle );
}
@ -266,10 +266,10 @@ rdsrec_list *DrealAddRectangle( Name, Layer, X, Y, Dx, Dy )
if ( ScanRec->NEXT != (rdsrec_list *)0 )
{
DREAL_PREVIOUS( ScanRec->NEXT ) = &ScanRec->NEXT;
DREAL_PREVIOUS_L( ScanRec->NEXT ) = &ScanRec->NEXT;
}
DREAL_PREVIOUS( ScanRec ) = &DrealFigureRds->LAYERTAB[ Layer ];
DREAL_PREVIOUS_L( ScanRec ) = &DrealFigureRds->LAYERTAB[ Layer ];
rdsend();
return( ScanRec );
@ -305,10 +305,10 @@ rdsrec_list *DrealAddAbox( X, Y, Dx, Dy )
if ( ScanRec->NEXT != (rdsrec_list *)0 )
{
DREAL_PREVIOUS( ScanRec->NEXT ) = &ScanRec->NEXT;
DREAL_PREVIOUS_L( ScanRec->NEXT ) = &ScanRec->NEXT;
}
DREAL_PREVIOUS( ScanRec ) = &DrealFigureRds->LAYERTAB[ RDS_ABOX ];
DREAL_PREVIOUS_L( ScanRec ) = &DrealFigureRds->LAYERTAB[ RDS_ABOX ];
rdsend();
return( ScanRec );
@ -406,7 +406,7 @@ void DrealDelRectangle( DelRec )
if ( DelRec->NEXT != (rdsrec_list *)0 )
{
DREAL_PREVIOUS( DelRec->NEXT ) = DREAL_PREVIOUS( DelRec );
DREAL_PREVIOUS_L( DelRec->NEXT ) = DREAL_PREVIOUS( DelRec );
}
DrealEraseRectangle( DelRec );
@ -471,7 +471,7 @@ void DrealFlattenFigure()
while ( ScanRec != (rdsrec_list *)NULL )
{
DREAL_PREVIOUS( ScanRec ) = Previous;
DREAL_PREVIOUS_L( ScanRec ) = Previous;
Previous = &ScanRec->NEXT;
DrealInsertRectangle( ScanRec );
@ -484,7 +484,7 @@ void DrealFlattenFigure()
if ( ScanRec->NEXT != (rdsrec_list *)NULL )
{
DREAL_PREVIOUS( ScanRec->NEXT ) = &ScanRec->NEXT;
DREAL_PREVIOUS_L( ScanRec->NEXT ) = &ScanRec->NEXT;
}
break;

View File

@ -1874,7 +1874,7 @@ void FvhFbhPostTreat( FsmFigure )
if ( ABL_CDDR( Equation ) == (ablexpr *)0 )
{
StarChain = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
Equation = StarChain;
}

View File

@ -346,7 +346,8 @@ int main (int ac, char *av[])
}
}
}
in_touch :
in_touch :
; // xtof to avoid an error with gcc4
}
}
}

View File

@ -30,13 +30,14 @@
#ident "$Id: log_bdd0.c,v 1.4 2005/04/15 08:38:49 alliance Exp $"
#ident "$Id: log_bdd0.c,v 1.5 2006/03/29 17:10:13 xtof Exp $"
/****************************************************************************/
/* Produit : librairie BDD - Gestion de BDD */
/****************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include "mut.h"
#include "log.h"

View File

@ -30,13 +30,13 @@
#ident "$Id: log_thashbdd.c,v 1.2 2002/09/30 16:20:43 czo Exp $"
#ident "$Id: log_thashbdd.c,v 1.3 2006/03/29 17:10:13 xtof Exp $"
/*--------------------------------------------------------------------------
la table de hachage des BDD
la version du 10.12.90
-------------------------------------------------------------------------- */
#include <stdlib.h>
#include "mut.h"
#include "log.h"

View File

@ -2,12 +2,13 @@
bin_PROGRAMS = loon
AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/abe/src \
AM_CFLAGS = -I$(top_srcdir)/abe/src \
-I$(top_srcdir)/abl/src \
-I$(top_srcdir)/aut/src \
-I$(top_srcdir)/abv/src \
-I$(top_srcdir)/bdd/src \
-I$(top_srcdir)/mbk/src
-I$(top_srcdir)/mbk/src \
@ALLIANCE_CFLAGS@
loon_LDADD = @ALLIANCE_LIBS@ \
-L$(top_srcdir)/abe/src \

View File

@ -152,7 +152,7 @@ static chain_list* format_subst_abl( chain_list* abl, beaux_list *BeauxSubst )
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain) = format_subst_abl( ABL_CAR( chain ), BeauxSubst );
ABL_CAR_L(chain) = format_subst_abl( ABL_CAR( chain ), BeauxSubst );
}
return abl;

View File

@ -46,10 +46,10 @@ extern chain_list* inv_oper(chain_list* abl, int negativ)
if (ABL_ATOM(abl)) {
if (ABL_ATOM_VALUE(abl)==getablatomzero()) {
if (negativ) ABL_ATOM_VALUE(abl)=getablatomone();
if (negativ) ABL_CAR_L(abl)=getablatomone();
}
else if (ABL_ATOM_VALUE(abl)==getablatomone()) {
if (negativ) ABL_ATOM_VALUE(abl)=getablatomzero();
if (negativ) ABL_CAR_L(abl)=getablatomzero();
}
else {
if (negativ) {
@ -61,30 +61,30 @@ extern chain_list* inv_oper(chain_list* abl, int negativ)
switch (ABL_OPER(abl)) {
case ABL_AND:
if (negativ) ABL_OPER(abl)=ABL_NAND;
else ABL_OPER(abl)=ABL_NOR;
if (negativ) ABL_OPER_L(abl)=ABL_NAND;
else ABL_OPER_L(abl)=ABL_NOR;
negativ=!negativ;
break;
case ABL_NAND:
if (negativ) ABL_OPER(abl)=ABL_NOR;
else ABL_OPER(abl)=ABL_NAND;
if (negativ) ABL_OPER_L(abl)=ABL_NOR;
else ABL_OPER_L(abl)=ABL_NAND;
break;
case ABL_OR:
if (negativ) ABL_OPER(abl)=ABL_NOR;
else ABL_OPER(abl)=ABL_NAND;
if (negativ) ABL_OPER_L(abl)=ABL_NOR;
else ABL_OPER_L(abl)=ABL_NAND;
negativ=!negativ;
break;
case ABL_NOR:
if (negativ) ABL_OPER(abl)=ABL_NAND;
else ABL_OPER(abl)=ABL_NOR;
if (negativ) ABL_OPER_L(abl)=ABL_NAND;
else ABL_OPER_L(abl)=ABL_NOR;
break;
case ABL_XOR:
if (negativ) ABL_OPER(abl)=ABL_NXOR;
if (negativ) ABL_OPER_L(abl)=ABL_NXOR;
negativ=0;
/*nothing to do: same size XOR and NXOR*/
break;
case ABL_NXOR:
if (negativ) ABL_OPER(abl)=ABL_XOR;
if (negativ) ABL_OPER_L(abl)=ABL_XOR;
negativ=0;
/*nothing to do*/
break;
@ -99,7 +99,7 @@ extern chain_list* inv_oper(chain_list* abl, int negativ)
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=inv_oper(ABL_CAR(chain),negativ);
ABL_CAR_L(chain)=inv_oper(ABL_CAR(chain),negativ);
}
return abl;
@ -131,7 +131,7 @@ extern chain_list* build_negativ(chain_list* abl)
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=build_negativ(ABL_CAR(chain));
ABL_CAR_L(chain)=build_negativ(ABL_CAR(chain));
}
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
@ -166,23 +166,23 @@ extern chain_list* build_negativ(chain_list* abl)
if (ABL_ATOM(leaf)) {
/*constant undifferent*/
if (ABL_ATOM_VALUE(leaf)==getablatomzero())
ABL_ATOM_VALUE(leaf)=getablatomone();
ABL_CAR_L(leaf)=getablatomone();
else if (ABL_ATOM_VALUE(leaf)==getablatomone())
ABL_ATOM_VALUE(leaf)=getablatomzero();
ABL_CAR_L(leaf)=getablatomzero();
else {
ABL_CAR(chain)=createablnotexpr(ABL_CAR(chain));
ABL_CAR_L(chain)=createablnotexpr(ABL_CAR(chain));
}
continue;
}
switch (ABL_OPER(leaf)) {
case ABL_AND: ABL_OPER(leaf)=ABL_NAND; break;
case ABL_OR: ABL_OPER(leaf)=ABL_NOR; break;
case ABL_NAND: ABL_OPER(leaf)=ABL_AND; break;
case ABL_NOR: ABL_OPER(leaf)=ABL_OR; break;
case ABL_XOR: ABL_OPER(leaf)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER(leaf)=ABL_XOR; break;
case ABL_AND: ABL_OPER_L(leaf)=ABL_NAND; break;
case ABL_OR: ABL_OPER_L(leaf)=ABL_NOR; break;
case ABL_NAND: ABL_OPER_L(leaf)=ABL_AND; break;
case ABL_NOR: ABL_OPER_L(leaf)=ABL_OR; break;
case ABL_XOR: ABL_OPER_L(leaf)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER_L(leaf)=ABL_XOR; break;
case ABL_NOT:
ABL_CAR(chain)=ABL_CADR(leaf);
ABL_CAR_L(chain)=ABL_CADR(leaf);
freechain(leaf);
break;
default:
@ -192,12 +192,12 @@ extern chain_list* build_negativ(chain_list* abl)
}
switch (ABL_OPER(abl)) {
case ABL_AND: ABL_OPER(abl)=ABL_NOR; break;
case ABL_OR: ABL_OPER(abl)=ABL_NAND; break;
case ABL_NAND: ABL_OPER(abl)=ABL_OR; break;
case ABL_NOR: ABL_OPER(abl)=ABL_AND; break;
case ABL_XOR: ABL_OPER(abl)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER(abl)=ABL_XOR; break;
case ABL_AND: ABL_OPER_L(abl)=ABL_NOR; break;
case ABL_OR: ABL_OPER_L(abl)=ABL_NAND; break;
case ABL_NAND: ABL_OPER_L(abl)=ABL_OR; break;
case ABL_NOR: ABL_OPER_L(abl)=ABL_AND; break;
case ABL_XOR: ABL_OPER_L(abl)=ABL_NXOR; break;
case ABL_NXOR: ABL_OPER_L(abl)=ABL_XOR; break;
case ABL_NOT:
chain=abl;
abl=ABL_CADR(abl);

View File

@ -30,6 +30,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <signal.h>
#include <ctype.h>

View File

@ -39,7 +39,9 @@
#define USING(node) {(int)node=-mark;}
#define USING_L(node) {node=-mark;}
#define USED(node) {(int)node=(int)((((int)node<0)?0:(int)node)+1);}
#define USED_L(node) {node=(int)((((int)node<0)?0:(int)node)+1);}
#define IS_USING(node) ((int)node==-mark)
#define IS_USED(node) ((int)node!=0)
#define IS_UNUSED(node) ((int)node==0)
@ -123,7 +125,7 @@ static chain_list* inter_equi(equi_list *equi, chain_list *abl)
head=abl;
for (abl=ABL_CDR(head); abl; abl=ABL_CDR(abl)) {
ABL_CAR(abl)=inter_equi(equi,ABL_CAR(abl));
ABL_CAR_L(abl)=inter_equi(equi,ABL_CAR(abl));
}
return head;
@ -152,7 +154,7 @@ static chain_list* replace_equi(chain_list* abl)
head=abl;
for (abl=ABL_CDR(head); abl; abl=ABL_CDR(abl)) {
ABL_CAR(abl)=replace_equi(ABL_CAR(abl));
ABL_CAR_L(abl)=replace_equi(ABL_CAR(abl));
}
return head;
@ -353,10 +355,10 @@ static int abl_dispatching(chain_list *abl, int mark)
return 0;
}
if (IS_USED(beaux->NODE)) {
USED(beaux->NODE);
USED_L(beaux->NODE);
return 1;
}
USING(beaux->NODE);
USING_L(beaux->NODE);
if (!abl_dispatching(beaux->ABL, mark)) {
if (!CYCLE) return 0; /*for display*/
if (CYCLE==beaux->NAME) {
@ -366,7 +368,7 @@ static int abl_dispatching(chain_list *abl, int mark)
else fprintf(stderr,"%s, ",beaux->NAME);
return 0;
}
USED(beaux->NODE);
USED_L(beaux->NODE);
return 1;
}
}
@ -380,10 +382,10 @@ static int abl_dispatching(chain_list *abl, int mark)
return 0;
}
if (IS_USED(bebux->BINODE)) {
USED(bebux->BINODE);
USED_L(bebux->BINODE);
return 1;
}
USING(bebux->BINODE);
USING_L(bebux->BINODE);
for (biabl=bebux->BIABL; biabl; biabl=biabl->NEXT) {
if (!abl_dispatching(biabl->CNDABL, mark)
|| !abl_dispatching(biabl->VALABL, mark)) {
@ -396,7 +398,7 @@ static int abl_dispatching(chain_list *abl, int mark)
return 0;
}
}
USED(bebux->BINODE);
USED_L(bebux->BINODE);
return 1;
}
}
@ -410,11 +412,11 @@ static int abl_dispatching(chain_list *abl, int mark)
return 0;
}
if (IS_USED(bereg->BINODE)) {
USED(bereg->BINODE);
USED_L(bereg->BINODE);
return 1;
}
/*cycle forbidden on clock*/
USING(bereg->BINODE);
USING_L(bereg->BINODE);
for (biabl=bereg->BIABL; biabl; biabl=biabl->NEXT) {
ptype=getptype(biabl->USER,ABL_STABLE); /*search if flip-flop*/
/*cycle not forbidden on value for flip-flop */
@ -431,7 +433,7 @@ static int abl_dispatching(chain_list *abl, int mark)
return 0;
}
}
USED(bereg->BINODE);
USED_L(bereg->BINODE);
/*impossible to look after value now, probably cycled on a signal*/
/*wait the end of recursion*/
return 1;
@ -501,7 +503,7 @@ static int mark_output()
/*create new internal signals and mark the path from output to input*/
for (beout=befig->BEOUT; beout; beout=beout->NEXT) {
USING(beout->NODE);
USING_L(beout->NODE);
if (!abl_dispatching(beout->ABL, mark)) {
if (!CYCLE) return 0; /*for display*/
if (CYCLE==beout->NAME) {
@ -511,11 +513,11 @@ static int mark_output()
else fprintf(stderr,"%s, ",beout->NAME);
return 0;
}
USED(beout->NODE);
USED_L(beout->NODE);
}
for (bebus=befig->BEBUS; bebus; bebus=bebus->NEXT) {
USING(bebus->BINODE);
USING_L(bebus->BINODE);
for (biabl=bebus->BIABL; biabl; biabl=biabl->NEXT) {
if (!abl_dispatching(biabl->CNDABL, mark)
|| !abl_dispatching(biabl->VALABL, mark)) {
@ -528,7 +530,7 @@ static int mark_output()
return 0;
}
}
USED(bebus->BINODE);
USED_L(bebus->BINODE);
}
return 1; /*ok*/

View File

@ -48,7 +48,7 @@ static chain_list* unflatnegexpr(chain_list* abl)
if (ABL_ATOM(abl)) return abl;
for (chain=ABL_CDR(abl); chain; chain=ABL_CDR(chain)) {
ABL_CAR(chain)=unflatnegexpr(ABL_CAR(chain));
ABL_CAR_L(chain)=unflatnegexpr(ABL_CAR(chain));
count++;
}
@ -57,13 +57,13 @@ static chain_list* unflatnegexpr(chain_list* abl)
switch(ABL_OPER(abl)) {
case ABL_NAND:
ABL_OPER(abl)=ABL_AND;
ABL_OPER_L(abl)=ABL_AND;
return createablnotexpr(abl);
case ABL_NOR:
ABL_OPER(abl)=ABL_OR;
ABL_OPER_L(abl)=ABL_OR;
return createablnotexpr(abl);
case ABL_NXOR:
ABL_OPER(abl)=ABL_XOR;
ABL_OPER_L(abl)=ABL_XOR;
return createablnotexpr(abl);
default: return abl;
}

View File

@ -484,7 +484,7 @@ Cette liste contient la liste des rectangles connecteurs. */
PtypeRec = getptype( LogicalConnector->USER, RDSLOCON1 );
(chain_list*)( PtypeRec->DATA) = append( (chain_list*)(PtypeRec->DATA), RecConnector );
PtypeRec->DATA = append( (chain_list*)(PtypeRec->DATA), RecConnector );
RecConnector = NULL;
if( Rcnet == 'c' || Rcnet == 'r' )
@ -493,7 +493,7 @@ Cette liste contient la liste des rectangles connecteurs. */
}
PrevFEQUI = getptype( Signal->USER, RCN_FEQUI );
((chain_list*)(PrevFEQUI->DATA)) = addchain( ((chain_list*)(PrevFEQUI->DATA)), FirstEqui );
PrevFEQUI->DATA = addchain( ((chain_list*)(PrevFEQUI->DATA)), FirstEqui );
}
else

View File

@ -21,7 +21,7 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ident "$Id: rcn_lo.c,v 1.3 2003/04/03 14:46:30 xtof Exp $"
#ident "$Id: rcn_lo.c,v 1.4 2006/03/29 17:10:33 xtof Exp $"
/*******************************************************************************
* rcn : acces functions to logical rc network structures *
@ -1495,11 +1495,11 @@ loctc_list* heaploctc()
ptctc=HEAD_CTC_FREE;
for(i=1;i<RCNBUFSIZE;i++)
{
(loctc_list*)(ptctc->SIG1) = ptctc+1;
ptctc->SIG1 = ptctc+1;
ptctc->NODE1 = -1000;
ptctc++;
}
(loctc_list*)(ptctc->SIG1) = NULL;
ptctc->SIG1 = NULL;
ptctc->NODE1 = -1000;
}
@ -1811,8 +1811,7 @@ losig_list *ptsig;
if( RCN_GETFLAG( ptnode->FLAG, RCN_FLAG_LOCON ) )
{
ptlocon = getptype(ptnode->USER, RCN_LOCON );
(chain_list*)(ptlocon->DATA)=
addchain((chain_list*)(ptlocon->DATA),ptcon);
ptlocon->DATA=addchain((chain_list*)(ptlocon->DATA),ptcon);
}
else
{

View File

@ -12,6 +12,7 @@
#include <mut.h>
#include <mlo.h>
#include <stdlib.h>
#include <string.h>
/*---------------------------------------------------------\

View File

@ -24,6 +24,15 @@
/*
* gives time the format edif wants
* $Log: time.c,v $
* Revision 1.4 2006/03/29 17:10:36 xtof
* * gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
*
* * ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
* by alliance.m4 -> must be added explicitely in each
* Makefile.am
*
* * remove configure.in (generated by autostuff)
*
* Revision 1.3 2002/09/30 16:20:54 czo
* support/users
*
@ -34,6 +43,8 @@
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
char *EdifTime()

View File

@ -21,7 +21,7 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ident "$Author: alliance $ $Date: 2005/04/15 08:38:50 $ $Revision: 1.4 $"
#ident "$Author: xtof $ $Date: 2006/03/29 17:10:37 $ $Revision: 1.5 $"
/*******************************************************************************
* *
@ -173,8 +173,8 @@ char mode;
if( SPI_VERBOSE )
{
printf( "Parser Spice compile le %s a %s\n", __DATE__, __TIME__ );
printf( "Revision : %s\n", "$Revision: 1.4 $" );
printf( "Date : %s\n", "$Date: 2005/04/15 08:38:50 $" );
printf( "Revision : %s\n", "$Revision: 1.5 $" );
printf( "Date : %s\n", "$Date: 2006/03/29 17:10:37 $" );
printf( "Separateur : '%c'\n", SPI_SEPAR );
printf( "Nom de noeud : %s\n", SPI_NETNAME );
@ -1974,11 +1974,9 @@ char mode;
ptnodename = getptype( scanlocon->USER, PNODENAME );
if( ptnoeud->NOM )
((chain_list*)(ptnodename->DATA)) =
addchain( ((chain_list*)(ptnodename->DATA)), namealloc( ptnoeud->NOM ) );
ptnodename->DATA = addchain( ((chain_list*)(ptnodename->DATA)), namealloc( ptnoeud->NOM ) );
else
((chain_list*)(ptnodename->DATA)) =
addchain( ((chain_list*)(ptnodename->DATA)), NULL );
ptnodename->DATA = addchain( ((chain_list*)(ptnodename->DATA)), NULL );
}
}
@ -1991,15 +1989,14 @@ char mode;
for( scanlocon = ptfig->LOCON ; scanlocon ; scanlocon = scanlocon->NEXT )
{
(chain_list*)scanlocon->PNODE = reverse( (chain_list*)scanlocon->PNODE );
scanlocon->PNODE = reverse( (chain_list*)scanlocon->PNODE );
ptnodename = getptype( scanlocon->USER, PNODENAME );
for( sc1 = (chain_list*)( ptnodename->DATA ) ; sc1 ; sc1 = sc1->NEXT )
if( sc1->DATA )
break;
if( sc1 )
((chain_list*)(ptnodename->DATA)) =
reverse( ((chain_list*)(ptnodename->DATA)) );
ptnodename->DATA = reverse( ((chain_list*)(ptnodename->DATA)) );
else
{
freechain( (chain_list*)ptnodename->DATA );
@ -2007,7 +2004,7 @@ char mode;
}
}
(chain_list*)ptfig->LOCON = reverse( (chain_list*)ptfig->LOCON );
ptfig->LOCON = reverse( (chain_list*)ptfig->LOCON );
/* On cree les transistors */
@ -2194,8 +2191,7 @@ char mode;
sc3 = (chain_list*)sc2->DATA;
for( ; sc3 ; sc3 = sc3->NEXT )
((chain_list*)(ptnodename->DATA)) = addchain(
((chain_list*)(ptnodename->DATA)),
ptnodename->DATA = addchain(((chain_list*)(ptnodename->DATA)),
sc3->DATA
);

View File

@ -5,8 +5,9 @@
author : D.HOMMAIS
content : basic functions for logen structure use
*/
#ident "$Id: gen_generic.c,v 1.1 2002/04/26 09:51:07 ludo Exp $"
#ident "$Id: gen_generic.c,v 1.2 2006/03/29 17:10:38 xtof Exp $"
#include <stdio.h>
#include <stdlib.h>
#include <mut.h>
#include "gen_generic.h"

View File

@ -7,8 +7,9 @@
/* functions : vhdlsavelofig() */
/* */
/* ###--------------------------------------------------------------### */
#ident "$Id: mvl_drive.c,v 1.1 2002/04/26 09:51:07 ludo Exp $"
#ident "$Id: mvl_drive.c,v 1.2 2006/03/29 17:10:38 xtof Exp $"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <time.h>

View File

@ -1143,8 +1143,7 @@ generic_element_association
: .generic_choices.
generic_expression
{
((logen_list *)MVL_GENLST->DATA)
= duplogen (&MVL_LOGEN,
MVL_GENLST->DATA = duplogen (&MVL_LOGEN,
((logen_list *)MVL_GENLST->DATA), NULL);
MVL_LOGEN.TYPE = GENTYPE_EMPTY;
}

View File

@ -10,8 +10,17 @@
/* ###--------------------------------------------------------------------### */
/*
* $Log: vel_o.c,v $
* Revision 1.1 2002/04/26 09:51:07 ludo
* Initial revision
* Revision 1.2 2006/03/29 17:10:39 xtof
* * gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
*
* * ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
* by alliance.m4 -> must be added explicitely in each
* Makefile.am
*
* * remove configure.in (generated by autostuff)
*
* Revision 1.1.1.1 2002/04/26 09:51:07 ludo
* Mise a plat de mbkvhdlg
*
* Revision 1.1.1.1 2002/04/11 08:54:53 fred
* Importing mbkvhdlg into the new Alliance CVS tree
@ -39,10 +48,11 @@
*
*/
#ident "$Id: vel_o.c,v 1.1 2002/04/26 09:51:07 ludo Exp $"
#ident "$Id: vel_o.c,v 1.2 2006/03/29 17:10:39 xtof Exp $"
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <mut.h>
#include <mlo.h>

View File

@ -41,6 +41,15 @@
* date : 12/06/1998 *
* *
* $Log: parse_vti_l.c,v $
* Revision 1.4 2006/03/29 17:10:46 xtof
* * gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
*
* * ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
* by alliance.m4 -> must be added explicitely in each
* Makefile.am
*
* * remove configure.in (generated by autostuff)
*
* Revision 1.3 2002/09/30 16:21:00 czo
* support/users
*
@ -966,7 +975,7 @@ losig_list *sigct1,*sigct2;
break;
}
if( !scan_sigalias ) {
(chain_list*)(scan_head_sigalias->DATA) = addchain( (chain_list*)(scan_head_sigalias->DATA), sig2);
scan_head_sigalias->DATA = addchain( (chain_list*)(scan_head_sigalias->DATA), sig2);
}
}
}
@ -1235,7 +1244,7 @@ int index;
scanx->NEXT = headx;
scanx->rcn = 0;
headx = scanx;
(struct hns_X*)(ptl->DATA) = headx;
ptl->DATA = headx;
}
return(scanx);
@ -1268,7 +1277,7 @@ loins_list *ptins;
scani->ins = ptins;
scani->rcn = 0;
headi = scani;
(struct hns_I*)(ptl->DATA) = headi;
ptl->DATA = headi;
}
return(scani);

View File

@ -2,7 +2,7 @@
bin_PROGRAMS = moka
AM_CFLAGS = @ALLIANCE_CFLAGS@ -Wall \
AM_CFLAGS = -Wall \
-I$(top_srcdir)/abe/src \
-I$(top_srcdir)/abl/src \
-I$(top_srcdir)/abv/src \
@ -15,7 +15,8 @@ AM_CFLAGS = @ALLIANCE_CFLAGS@ -Wall \
-I$(top_srcdir)/ftl/src \
-I$(top_srcdir)/mbk/src \
-I$(top_srcdir)/fvh/src \
-I$(top_srcdir)/vex/src
-I$(top_srcdir)/vex/src \
@ALLIANCE_CFLAGS@
moka_LDADD = @ALLIANCE_LIBS@ \
-L$(top_srcdir)/abe/src \

View File

@ -639,7 +639,7 @@ static void MochaSyfSynthOut2Abl( FsmFigure )
** Out(i) = OR Locout(j) -> Out(i) = Locout(j)
*/
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
ScanMochaSyfOut->ABL = Atom;
}
@ -757,7 +757,7 @@ static void MochaSyfSynthReg2Abl( FsmFigure )
** Reg(i) = OR E(j) -> Reg(i) = E(j)
*/
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
RegArray[ Index ].ABL = Atom;
}
@ -813,7 +813,7 @@ static void MochaSyfSynthReg2Abl( FsmFigure )
if ( ABL_CDDR( Equation ) == (ablexpr *)0 )
{
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
RegArray[ Index ].ABL_SET = Atom;
}
@ -829,7 +829,7 @@ static void MochaSyfSynthReg2Abl( FsmFigure )
if ( ABL_CDDR( Equation ) == (ablexpr *)0 )
{
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
RegArray[ Index ].ABL_RESET = Atom;
}
@ -1579,7 +1579,7 @@ void MochaSyfFreeFsm( FsmFigure )
ScanOut != (fsmout_list *)0;
ScanOut = ScanOut->NEXT )
{
MOCHA_SYF_OUT( ScanOut ) = NULL;
MOCHA_SYF_OUT_L( ScanOut ) = NULL;
}
for ( ScanState = ScanFigure->STATE;
@ -1588,7 +1588,7 @@ void MochaSyfFreeFsm( FsmFigure )
{
ScanMochaSyfState = MOCHA_SYF_STATE( ScanState );
autfreeblock( (void *)ScanMochaSyfState );
MOCHA_SYF_STATE( ScanState ) = NULL;
MOCHA_SYF_STATE_L( ScanState ) = NULL;
}
autfreeblock( ScanMochaSyfInfo->REG_ARRAY );
@ -1596,7 +1596,7 @@ void MochaSyfFreeFsm( FsmFigure )
autfreeblock( ScanMochaSyfInfo->CODE_ARRAY );
autfreeblock( ScanMochaSyfInfo );
MOCHA_SYF_INFO( ScanFigure ) = NULL;
MOCHA_SYF_INFO_L( ScanFigure ) = NULL;
if ( IsFsmFigMulti( FsmFigure ) )
{

View File

@ -52,9 +52,12 @@
| |
\------------------------------------------------------------*/
# define MOCHA_SYF_INFO( Figure ) ( (mochasyfinfo *)( ( Figure )->USER ) )
# define MOCHA_SYF_STATE( State ) ( (mochasyfstate *)( ( State )->USER ) )
# define MOCHA_SYF_OUT( Out ) ( (mochasyfout *)( ( Out )->USER ) )
# define MOCHA_SYF_INFO( Figure ) ( (mochasyfinfo *)( ( Figure )->USER ) )
# define MOCHA_SYF_INFO_L( Figure ) ( ( Figure )->USER )
# define MOCHA_SYF_STATE( State ) ( (mochasyfstate *)( ( State )->USER ) )
# define MOCHA_SYF_STATE_L( State ) ( ( State )->USER )
# define MOCHA_SYF_OUT( Out ) ( (mochasyfout *)( ( Out )->USER ) )
# define MOCHA_SYF_OUT_L( Out ) ( ( Out )->USER )
/*------------------------------------------------------------\
| |

View File

@ -10,6 +10,7 @@
# include <aut.h>
# include <beh.h>
# include <stdio.h>
# include <stdlib.h>
# define _ALU2_ 0

View File

@ -1,8 +1,17 @@
/*
### -------------------------------------------------- ###
$Author: hcl $
$Date: 2002/06/27 09:09:01 $
$Author: xtof $
$Date: 2006/03/29 17:10:51 $
$Log: findNPointsPath.c,v $
Revision 1.6 2006/03/29 17:10:51 xtof
* gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
* ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
by alliance.m4 -> must be added explicitely in each
Makefile.am
* remove configure.in (generated by autostuff)
Revision 1.5 2002/06/27 09:09:01 hcl
Code d'erreur si tous les signaux ne sont pas routés.
@ -95,7 +104,7 @@
#include "ocrAstar.h"
static char *res_id =
"$Id: findNPointsPath.c,v 1.5 2002/06/27 09:09:01 hcl Exp $";
"$Id: findNPointsPath.c,v 1.6 2006/03/29 17:10:51 xtof Exp $";
#define MAX_HT 500
@ -557,7 +566,7 @@ makeExtEquipotentielle(ocrRoutingParameters * i_pParam,
l_pVirCon = createVirtualConnector(i, 0, 0, 0, SOUTH);
if (isFreePoint(i_pCon, i_pGrid, l_pVirCon)) {
(ocrVirtualConnector *) l_pVirCon->NEXT = l_pVirConList;
l_pVirCon->NEXT = l_pVirConList;
l_pVirConList = l_pVirCon;
}
// FIXME : pas de free ???
@ -587,7 +596,7 @@ makeExtEquipotentielle(ocrRoutingParameters * i_pParam,
0, 0, NORTH);
if (isFreePoint(i_pCon, i_pGrid, l_pVirCon)) {
(ocrVirtualConnector *) l_pVirCon->NEXT = l_pVirConList;
l_pVirCon->NEXT = l_pVirConList;
l_pVirConList = l_pVirCon;
}
}
@ -609,7 +618,7 @@ makeExtEquipotentielle(ocrRoutingParameters * i_pParam,
l_pVirCon = createVirtualConnector((i_pGrid->SIZE_H - 1),
i, 0, 0, EAST);
if (isFreePoint(i_pCon, i_pGrid, l_pVirCon)) {
(ocrVirtualConnector *) l_pVirCon->NEXT = l_pVirConList;
l_pVirCon->NEXT = l_pVirConList;
l_pVirConList = l_pVirCon;
}
}
@ -630,7 +639,7 @@ makeExtEquipotentielle(ocrRoutingParameters * i_pParam,
for (i = l_uOffset; i < i_pGrid->SIZE_V - l_uOffset; i += l_uDelta) {
l_pVirCon = createVirtualConnector(0, i, 0, 0, WEST);
if (isFreePoint(i_pCon, i_pGrid, l_pVirCon)) {
(ocrVirtualConnector *) l_pVirCon->NEXT = l_pVirConList;
l_pVirCon->NEXT = l_pVirConList;
l_pVirConList = l_pVirCon;
}
}

View File

@ -1,8 +1,17 @@
/*
### -------------------------------------------------- ###
$Author: ludo $
$Date: 2004/05/23 09:50:42 $
$Author: xtof $
$Date: 2006/03/29 17:10:51 $
$Log: ocrRouter.c,v $
Revision 1.9 2006/03/29 17:10:51 xtof
* gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
* ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
by alliance.m4 -> must be added explicitely in each
Makefile.am
* remove configure.in (generated by autostuff)
Revision 1.8 2004/05/23 09:50:42 ludo
- Bug fix: Segmentation fault when the input netlist has unconnected signals
Those unused nets are now removed from the input lofig after the flatten.
@ -257,6 +266,90 @@ void noCritVC(ocrRoutingDataBase * i_pDataBase)
return;
}
/* On rippe plus de signaux */
void
ripUp2(ocrRoutingDataBase * i_pDataBase,
ocrRoutingParameters * i_pParam, ocrSignal * i_pSignal)
{
ocrConnector *l_pCon;
ocrVirtualConnector *l_pVirCon;
ocrSignal *l_pSignal;
for (l_pCon = i_pSignal->CON_LIST; l_pCon; l_pCon = l_pCon->NEXT) {
// parcours des connecteurs virtuels
for (l_pVirCon = l_pCon->VIR_CON_LIST;
l_pVirCon;
l_pVirCon = (ocrVirtualConnector *) l_pVirCon->NEXT) {
//printf ("(%ld,%ld,%ld)\n", l_pVirCon->X, l_pVirCon->Y, l_pVirCon->Z);
// altitude du connecteur
if (l_pVirCon->Z == 0) {
// on déroute sur les 2 niveaux au dessus (ALU2 et ALU3)
// ALU2
l_pSignal = findSignal(i_pDataBase,
getWSegmentCV(i_pDataBase->GRID,
l_pVirCon)->
SIGNAL_INDEX);
if (l_pSignal)
if ( (l_pSignal != i_pSignal) && (!(l_pSignal->HARD)) ) {
// ajoute le signal dans la liste à re-router.
i_pDataBase->RIPUP = addchain(i_pDataBase->RIPUP,
(void *) l_pSignal);
//fprintf (stdout, "RIPUP : Suppression du signal (ALU2) %ld \n", l_pSignal->INDEX);
deleteEquipotentielle(i_pParam, i_pDataBase->GRID,
l_pSignal);
l_pSignal->SEGMENT = NULL;
l_pSignal->ROUTED = 0;
i_pDataBase->NB_ROUTED--;
unMarkSegmentAsFree(i_pDataBase, l_pSignal, l_pSignal->INDEX); // XXX
}
// ALU3
l_pSignal = findSignal(i_pDataBase,
getWSegment(i_pDataBase->GRID,
l_pVirCon->X,
l_pVirCon->Y,
l_pVirCon->Z +
1)->SIGNAL_INDEX);
if (l_pSignal)
if (l_pSignal != i_pSignal) {
// ajoute le signal dans la liste à re-router.
i_pDataBase->RIPUP = addchain(i_pDataBase->RIPUP,
(void *) l_pSignal);
//fprintf (stdout, "RIPUP : Suppression du signal (ALU3) %ld \n", l_pSignal->INDEX);
deleteEquipotentielle(i_pParam, i_pDataBase->GRID,
l_pSignal);
l_pSignal->SEGMENT = NULL;
l_pSignal->ROUTED = 0;
i_pDataBase->NB_ROUTED--;
unMarkSegmentAsFree(i_pDataBase, l_pSignal, l_pSignal->INDEX); // XXX
}
} else {
// altitude du connecteur > 0
// premiere version : on ne fait rien.
//
// future version :
// on déroute immédiatement au dessus si possible
// et sur chaque côté en suivant la direction du plan.
}
}
// supression du signal lui meme
}
//fprintf (stdout, "RIPUP : Suppression du signal %ld \n", i_pSignal->INDEX);
deleteEquipotentielle(i_pParam, i_pDataBase->GRID, i_pSignal);
unMarkSegmentAsFree(i_pDataBase, i_pSignal, i_pSignal->INDEX); // XXX
i_pSignal->SEGMENT = NULL;
i_pSignal->ROUTED = 0;
countFreeVC(i_pDataBase);
}
/**
* route les signaux dans l'ordre :
@ -444,89 +537,6 @@ ripUp(ocrRoutingDataBase * i_pDataBase,
}
/* On rippe plus de signaux */
void
ripUp2(ocrRoutingDataBase * i_pDataBase,
ocrRoutingParameters * i_pParam, ocrSignal * i_pSignal)
{
ocrConnector *l_pCon;
ocrVirtualConnector *l_pVirCon;
ocrSignal *l_pSignal;
for (l_pCon = i_pSignal->CON_LIST; l_pCon; l_pCon = l_pCon->NEXT) {
// parcours des connecteurs virtuels
for (l_pVirCon = l_pCon->VIR_CON_LIST;
l_pVirCon;
l_pVirCon = (ocrVirtualConnector *) l_pVirCon->NEXT) {
//printf ("(%ld,%ld,%ld)\n", l_pVirCon->X, l_pVirCon->Y, l_pVirCon->Z);
// altitude du connecteur
if (l_pVirCon->Z == 0) {
// on déroute sur les 2 niveaux au dessus (ALU2 et ALU3)
// ALU2
l_pSignal = findSignal(i_pDataBase,
getWSegmentCV(i_pDataBase->GRID,
l_pVirCon)->
SIGNAL_INDEX);
if (l_pSignal)
if ( (l_pSignal != i_pSignal) && (!(l_pSignal->HARD)) ) {
// ajoute le signal dans la liste à re-router.
i_pDataBase->RIPUP = addchain(i_pDataBase->RIPUP,
(void *) l_pSignal);
//fprintf (stdout, "RIPUP : Suppression du signal (ALU2) %ld \n", l_pSignal->INDEX);
deleteEquipotentielle(i_pParam, i_pDataBase->GRID,
l_pSignal);
l_pSignal->SEGMENT = NULL;
l_pSignal->ROUTED = 0;
i_pDataBase->NB_ROUTED--;
unMarkSegmentAsFree(i_pDataBase, l_pSignal, l_pSignal->INDEX); // XXX
}
// ALU3
l_pSignal = findSignal(i_pDataBase,
getWSegment(i_pDataBase->GRID,
l_pVirCon->X,
l_pVirCon->Y,
l_pVirCon->Z +
1)->SIGNAL_INDEX);
if (l_pSignal)
if (l_pSignal != i_pSignal) {
// ajoute le signal dans la liste à re-router.
i_pDataBase->RIPUP = addchain(i_pDataBase->RIPUP,
(void *) l_pSignal);
//fprintf (stdout, "RIPUP : Suppression du signal (ALU3) %ld \n", l_pSignal->INDEX);
deleteEquipotentielle(i_pParam, i_pDataBase->GRID,
l_pSignal);
l_pSignal->SEGMENT = NULL;
l_pSignal->ROUTED = 0;
i_pDataBase->NB_ROUTED--;
unMarkSegmentAsFree(i_pDataBase, l_pSignal, l_pSignal->INDEX); // XXX
}
} else {
// altitude du connecteur > 0
// premiere version : on ne fait rien.
//
// future version :
// on déroute immédiatement au dessus si possible
// et sur chaque côté en suivant la direction du plan.
}
}
// supression du signal lui meme
}
//fprintf (stdout, "RIPUP : Suppression du signal %ld \n", i_pSignal->INDEX);
deleteEquipotentielle(i_pParam, i_pDataBase->GRID, i_pSignal);
unMarkSegmentAsFree(i_pDataBase, i_pSignal, i_pSignal->INDEX); // XXX
i_pSignal->SEGMENT = NULL;
i_pSignal->ROUTED = 0;
countFreeVC(i_pDataBase);
}
/* ripUp plus subtil */
void
ripUp3(ocrRoutingDataBase * i_pDataBase,

View File

@ -1,8 +1,17 @@
/*
### -------------------------------------------------- ###
$Author: hcl $
$Date: 2002/04/25 13:41:33 $
$Author: xtof $
$Date: 2006/03/29 17:10:55 $
$Log: ocrWPlaneLabeling.c,v $
Revision 1.3 2006/03/29 17:10:55 xtof
* gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
* ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
by alliance.m4 -> must be added explicitely in each
Makefile.am
* remove configure.in (generated by autostuff)
Revision 1.2 2002/04/25 13:41:33 hcl
New ripup/reroute loop, bug-kill (CALU&TALU).
@ -62,7 +71,7 @@
#define OFFSET(x) ( (ocrNaturalInt) (x)->KEY )
static char *res_id =
"$Id: ocrWPlaneLabeling.c,v 1.2 2002/04/25 13:41:33 hcl Exp $";
"$Id: ocrWPlaneLabeling.c,v 1.3 2006/03/29 17:10:55 xtof Exp $";
typedef struct ocrSubWSegment {
ocrWSegment *SEGMENT;
@ -116,10 +125,10 @@ static inline ocrSubWSegment *createSubWSegment(ocrWSegment * segment,
pt = (ocrSubWSegment *) mbkalloc(BUFSIZE * sizeof(ocrSubWSegment));
HEAD_OCRSUBWSEGMENT = pt;
for (i = 1; i < BUFSIZE; i++) {
(ocrSubWSegment *) pt->SEGMENT = pt + 1;
pt->SEGMENT = pt + 1;
pt++;
}
(ocrSubWSegment *) pt->SEGMENT = NULL;
pt->SEGMENT = NULL;
}
pt = HEAD_OCRSUBWSEGMENT;
@ -135,7 +144,7 @@ static inline ocrSubWSegment *createSubWSegment(ocrWSegment * segment,
static inline void freeSubWSegment(ocrSubWSegment * sub_segment)
{
(ocrSubWSegment *) sub_segment->SEGMENT = HEAD_OCRSUBWSEGMENT;
sub_segment->SEGMENT = HEAD_OCRSUBWSEGMENT;
HEAD_OCRSUBWSEGMENT = sub_segment;
}

View File

@ -1,8 +1,17 @@
/*
### -------------------------------------------------- ###
$Author: hcl $
$Date: 2002/07/16 12:03:55 $
$Author: xtof $
$Date: 2006/03/29 17:10:56 $
$Log: ocrWRoutingUtil.c,v $
Revision 1.8 2006/03/29 17:10:56 xtof
* gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
* ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
by alliance.m4 -> must be added explicitely in each
Makefile.am
* remove configure.in (generated by autostuff)
Revision 1.7 2002/07/16 12:03:55 hcl
bug...
@ -776,10 +785,10 @@ ocrWSegment *createWSegment(ocrNaturalInt offset,
pt = (ocrWSegment *) mbkalloc(BUFSIZE * sizeof(ocrWSegment));
HEAD_OCRWSEGMENT = pt;
for (i = 1; i < BUFSIZE; i++) {
(ocrWSegment *) pt->LABELS_LEFT_TOP = pt + 1;
pt->LABELS_LEFT_TOP = pt + 1;
pt++;
}
(ocrWSegment *) pt->LABELS_LEFT_TOP = NULL;
pt->LABELS_LEFT_TOP = NULL;
}
pt = HEAD_OCRWSEGMENT;
@ -812,7 +821,7 @@ ocrWSegment *createWSegment(ocrNaturalInt offset,
void freeWSegment(ocrWSegment * segment)
{
(ocrWSegment *) segment->LABELS_LEFT_TOP = HEAD_OCRWSEGMENT;
segment->LABELS_LEFT_TOP = HEAD_OCRWSEGMENT;
HEAD_OCRWSEGMENT = segment;
}

View File

@ -1,8 +1,17 @@
/*
### -------------------------------------------------- ###
$Author: hcl $
$Date: 2002/04/25 13:41:34 $
$Author: xtof $
$Date: 2006/03/29 17:10:57 $
$Log: ocrConnectorUtil.c,v $
Revision 1.4 2006/03/29 17:10:57 xtof
* gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
* ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
by alliance.m4 -> must be added explicitely in each
Makefile.am
* remove configure.in (generated by autostuff)
Revision 1.3 2002/04/25 13:41:34 hcl
New ripup/reroute loop, bug-kill (CALU&TALU).
@ -150,6 +159,7 @@ void countFreeVC(ocrRoutingDataBase * i_pDataBase)
l_pCon->critVC = NULL;
}
fin_lpcon:
;
}
}
// maj con->NB_VC

View File

@ -1,8 +1,17 @@
/*
### -------------------------------------------------- ###
$Author: hcl $
$Date: 2002/04/25 13:41:34 $
$Author: xtof $
$Date: 2006/03/29 17:10:57 $
$Log: ocrDataBaseUtil.c,v $
Revision 1.3 2006/03/29 17:10:57 xtof
* gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
* ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
by alliance.m4 -> must be added explicitely in each
Makefile.am
* remove configure.in (generated by autostuff)
Revision 1.2 2002/04/25 13:41:34 hcl
New ripup/reroute loop, bug-kill (CALU&TALU).
@ -44,7 +53,7 @@
#include "display.h"
static char *res_id =
"$Id: ocrDataBaseUtil.c,v 1.2 2002/04/25 13:41:34 hcl Exp $";
"$Id: ocrDataBaseUtil.c,v 1.3 2006/03/29 17:10:57 xtof Exp $";
extern ocrOption *g_pOption;
#define LEVEL (g_pOption->LEVEL)
@ -492,7 +501,7 @@ void
addVirtualConnector(ocrVirtualConnector ** i_pVirConList,
ocrVirtualConnector * i_pVirCon)
{
(ocrVirtualConnector *) i_pVirCon->NEXT = *i_pVirConList;
i_pVirCon->NEXT = *i_pVirConList;
*i_pVirConList = i_pVirCon;
}

View File

@ -119,7 +119,7 @@ static char* unbuf_papat(char* head, struct papat *ppapat)
if ( !paiol || ( paiol->MODE!='O' && paiol->MODE!='T' ) )
{
fprintf(stderr, __FUNCTION__": Output with index %d not found\n",index);
fprintf(stderr, "%s : Output with index %d not found\n", __FUNCTION__,index);
exit(1);
}

View File

@ -8,7 +8,7 @@
/*## E-mail : cao-vlsi@masi.ibp.fr ##*/
/*## ##*/
/*####==============================================================####*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/fcntl.h>
#include <errno.h>
@ -225,7 +225,7 @@ static void checkLPT()
if (fd <= 0 )
{
fprintf(stderr, __FUNCTION__ ": Device is not opened\n");
fprintf(stderr, "%s : %s", __FUNCTION__, "Device is not opened\n");
exit(LPSCAN_ERROR);
}
@ -280,7 +280,7 @@ extern int check_mode( )
if ( !InfosVbe )
{
fprintf(stderr, __FUNCTION__ "No info file\n");
fprintf(stderr,"%s %s" ,__FUNCTION__ , "No info file\n");
exit(1);
}
@ -504,7 +504,7 @@ extern int write_read_port( char* buf, unsigned int size)
{
if (!fd)
{
fprintf(stderr,__FUNCTION__": device not opened\n");
fprintf(stderr, "%s : %s", __FUNCTION__, "device not opened\n");
exit( 1 );
}

View File

@ -481,7 +481,7 @@ static char ValeurData(int valeur, int inversion)
case '*': return '*';
}
fprintf(stderr,__FUNCTION__": Sign '%c' unknown\n",valeur);
fprintf(stderr, "%s : %s%c%s", __FUNCTION__, "Sign '", valeur, "' unknown\n");
exit( 1 );
return 0;
}
@ -657,7 +657,7 @@ static void InitData(struct paseq *pat)
if ( !ppaiol )
{
fprintf(stderr, __FUNCTION__ ": entry '%s' not found\n", pcel->NAME);
fprintf(stderr, "%s : %s%c%s", __FUNCTION__, "entry '", pcel->NAME, "' not found\n");
exit(1);
}

View File

@ -71,10 +71,10 @@ static void resize_layer (model, layer_num)
for (rectp = model->LAYERTAB[layer_num]; rectp; rectp = rectp->NEXT)
{
(long) rectp->X -= qty;
(long) rectp->Y -= qty;
(long) rectp->DX += 2 * qty;
(long) rectp->DY += 2 * qty;
rectp->X -= qty;
rectp->Y -= qty;
rectp->DX += 2 * qty;
rectp->DY += 2 * qty;
}
}
@ -94,10 +94,10 @@ static void inv_resize_layer (model, layer_num)
for (rectp = model->LAYERTAB[layer_num]; rectp; rectp = rectp->NEXT)
{
(long) rectp->X += qty;
(long) rectp->Y += qty;
(long) rectp->DX -= 2 * qty;
(long) rectp->DY -= 2 * qty;
rectp->X += qty;
rectp->Y += qty;
rectp->DX -= 2 * qty;
rectp->DY -= 2 * qty;
}
}

View File

@ -2,14 +2,15 @@
bin_PROGRAMS = syf
AM_CFLAGS = @ALLIANCE_CFLAGS@ \
AM_CFLAGS = \
-I$(top_srcdir)/abl/src \
-I$(top_srcdir)/aut/src \
-I$(top_srcdir)/bdd/src \
-I$(top_srcdir)/fsm/src \
-I$(top_srcdir)/ftl/src \
-I$(top_srcdir)/fvh/src \
-I$(top_srcdir)/mbk/src
-I$(top_srcdir)/mbk/src \
@ALLIANCE_CFLAGS@
syf_LDADD = @ALLIANCE_LIBS@ \
-L$(top_srcdir)/abl/src \

View File

@ -101,7 +101,7 @@ static void SyfRemoveStable( Expr )
freechain( ABL_CAR( Expr ) );
ABL_CDR( Expr ) = (ablexpr *)0;
ABL_ATOM_VALUE( Expr ) = getablatomzero();
ABL_CAR_L( Expr ) = getablatomzero();
return;
}

View File

@ -141,7 +141,7 @@ void SyfSynthReturn2Abl( FsmFigure )
( ABL_CDDR( Equation ) == (ablexpr *)0 ) )
{
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
ReturnSyfState->ABL_RETURN = Atom;
}
@ -299,7 +299,7 @@ void SyfSynthStack2Abl( FsmFigure )
if ( ABL_CDDR( Equation ) == (ablexpr *)0 )
{
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
StackArray[ ScanBit ].ABL = Atom;
}
@ -594,7 +594,7 @@ void SyfSynthCtrl2Abl( FsmFigure )
if ( ABL_CDDR( Equation ) == (ablexpr *)0 )
{
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
CtrlArray[ Index ].ABL = Atom;
}
@ -804,7 +804,7 @@ void SyfSynthOut2Abl( FsmFigure )
** Out(i) = OR Locout(j) -> Out(i) = Locout(j)
*/
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
ScanSyfOut->ABL = Atom;
}
@ -1007,7 +1007,7 @@ void SyfSynthReg2Abl( FsmFigure )
** Reg(i) = OR E(j) -> Reg(i) = E(j)
*/
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
RegArray[ Index ].ABL = Atom;
}
@ -1093,7 +1093,7 @@ void SyfSynthReg2Abl( FsmFigure )
if ( ABL_CDDR( Equation ) == (ablexpr *)0 )
{
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
RegArray[ Index ].ABL_SET = Atom;
}
@ -1109,7 +1109,7 @@ void SyfSynthReg2Abl( FsmFigure )
if ( ABL_CDDR( Equation ) == (ablexpr *)0 )
{
Atom = ABL_CADR( Equation );
ABL_CADR( Equation ) = (ablexpr *)0;
ABL_CADR_L( Equation ) = (ablexpr *)0;
freeablexpr( Equation );
RegArray[ Index ].ABL_RESET = Atom;
}

View File

@ -443,6 +443,7 @@
# define SetVexAtomValue( N, A ) ( (N)->VALUE = (void *)(A) )
# define GetVexOperand( C ) ( (vexexpr *)(C)->DATA )
# define GetVexOperandL( C ) ( (C)->DATA )
# define SetVexOperand( C, O ) ( (C)->DATA = (void *)(O) )
/*------------------------------------------------------\

View File

@ -1098,7 +1098,7 @@ static void VvhVbhTreatCase( ScanCase )
if ( VexGuard->OPERAND->NEXT == (chain_list *)0 )
{
VexAtom = GetVexOperand( VexGuard->OPERAND );
GetVexOperand( VexGuard->OPERAND ) = (vexexpr *)0;
GetVexOperandL( VexGuard->OPERAND ) = (vexexpr *)0;
freevexexpr( VexGuard );
VexGuard = VexAtom;
}
@ -1111,7 +1111,7 @@ static void VvhVbhTreatCase( ScanCase )
if ( VexGuard->OPERAND->NEXT == (chain_list *)0 )
{
VexAtom = GetVexOperand( VexGuard->OPERAND );
GetVexOperand( VexGuard->OPERAND ) = (vexexpr *)0;
GetVexOperandL( VexGuard->OPERAND ) = (vexexpr *)0;
freevexexpr( VexGuard );
VexGuard = VexAtom;
}
@ -1158,7 +1158,7 @@ static void VvhVbhTreatCase( ScanCase )
if ( VexGuard->OPERAND->NEXT == (chain_list *)0 )
{
VexAtom = GetVexOperand( VexGuard->OPERAND );
GetVexOperand( VexGuard->OPERAND ) = (vexexpr *)0;
GetVexOperandL( VexGuard->OPERAND ) = (vexexpr *)0;
freevexexpr( VexGuard );
VexGuard = VexAtom;
}