/*************************************************************************************************************************************/
/* */
/* G E S T I O N A U T O M A T I S E E D E S " B U G S " : */
/* */
/* */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * ** * * * * * ** * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * ** * * * * * ** */
/* * * * * * * * * * * * * * * * * * * * * * * */
/* */
/* */
/* ATTENTION : */
/* */
/* Tous les 'BUG_' declares ici doivent */
/* etre repercutes dans 'v $xig/common$STR DEFV.Common.DEFV.Logical._____BUG_'. */
/* */
/* */
/* Author of '$xcp/Bugs$K' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 1996??????????). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* I N T E R F A C E ' listG ' : */
/* */
/* */
/* :Debut_listG: */
/* :Fin_listG: */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */
/* */
/*************************************************************************************************************************************/
@nodefine PRAGMA_CL_____MODULE_NON_OPTIMISABLE
/* Introduit le 20040409115527 a cause de 'BUG_SYSTEME_APC_GCC_ExcessPrecisionProblem_02' */
/* qui disparait lorqu'il y a optimisation, mais ATTENTION, cela est en contradiction avec */
/* 'BUG_SYSTEME_APC_GCC_ExcessPrecisionProblem_01' qui lui demande l'optimisation pour se */
/* manifester. Le 20040409134038, j'ai trouve la solution : il suffit de declarer 'Local' */
/* les variables {origine,extremite}, d'ou le 'nodefine'... */
@define PRAGMA_CL_____PAS_DE_LIBRAIRIES_DYNAMIQUES
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F I C H I E R S D ' I N C L U D E S : */
/* */
/*************************************************************************************************************************************/
#include INCLUDES_MINI
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F O N C T I O N S U T I L E S : */
/* */
/*************************************************************************************************************************************/
#if ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
|| (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
|| (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
BFonctionF
DEFV(Local,DEFV(Float,INIT(origine,NEGA(FDEUX))));
DEFV(Local,DEFV(Float,INIT(extremite,NEUT(FDEUX))));
/* La declaration 'Local' a ete introduite le 20040409134038 afin de faire se manifester */
/* le probleme qu'il y ait ou pas optimisation... */
DEFV(Common,DEFV(FonctionF,bSCAL___conditionnelle(Zf)))
/* Fonction introduite le 20040409134850 afin que le probleme se manifeste meme si */
/* l'option de compilation "-ffloat-store" est presente... */
DEFV(Argument,DEFV(Float,Zf));
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(COND(IFNE(origine,extremite)
,bSCAL(SOUS(Zf,origine)
,SOUS(extremite,origine)
,SOUS(COORDONNEE_BARYCENTRIQUE_MAXIMALE,COORDONNEE_BARYCENTRIQUE_MINIMALE)
)
,SOUS(Zf,origine)
)
);
Eblock
EFonctionF
#Aif ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
|| (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
|| (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
#Eif ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
|| (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
|| (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* G E S T I O N A U T O M A T I S E E D E S " B U G S " : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
GET_ARGUMENTS_(nombre_d_arguments
,BLOC(VIDE;
)
);
#if ( (defined(SYSTEME_SGIND308_IRIX_CC)) \
|| (defined(SYSTEME_SGIND324_IRIX_CC)) \
|| (defined(SYSTEME_SGIND3GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND408_IRIX_CC)) \
|| (defined(SYSTEME_SGIND424_IRIX_CC)) \
|| (defined(SYSTEME_SGIND4GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND508_IRIX_CC)) \
|| (defined(SYSTEME_SGIND524_IRIX_CC)) \
|| (defined(SYSTEME_SGIND5GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND808_IRIX_CC)) \
|| (defined(SYSTEME_SGIND824_IRIX_CC)) \
|| (defined(SYSTEME_SGIND8GA_IRIX_CC)) \
|| (defined(SYSTEME_SGINDA08_IRIX_CC)) \
|| (defined(SYSTEME_SGINDA24_IRIX_CC)) \
|| (defined(SYSTEME_SGINDAGA_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A1_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A2_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A4_IRIX_CC)) \
|| (defined(SYSTEME_SGO25224_IRIX_CC)) \
|| (defined(SYSTEME_SGO252VA_IRIX_CC)) \
|| (defined(SYSTEME_SGO252VN_IRIX_CC)) \
|| (defined(SYSTEME_SGPCM801_IRIX_CC)) \
|| (defined(SYSTEME_SGPCMA01_IRIX_CC)) \
)
begin_nouveau_block
# define DIVIDENDE \
NEGA(UN)
# define DIVISEUR \
NEUT(UN)
DEFV(Float,INIT(quotient1,gDIVI(DIVIDENDE,DIVISEUR)));
DEFV(Float,INIT(quotient2,gDIVI(FLOT(DIVIDENDE),FLOT(DIVISEUR))));
/* ATTENTION, bien entendu, il ne faut pas utiliser 'DIVI(...)' mais 'gDIVI(...)'. */
Test(IFNE(quotient1,quotient2))
Bblock
DEFINEV("BUG_SYSTEME_SGIND_C_divisions_entieres");
/* Cas ou le compilateur genere mal les constantes issues de divisions entieres (voir a ce */
/* propos 'v $Dbugs/SGIND4GA$D/IRIX$D/CC$D/IntDouble.01$c')... */
Eblock
ATes
Bblock
Eblock
ETes
# undef DIVISEUR
# undef DIVIDENDE
end_nouveau_block
#Aif ( (defined(SYSTEME_SGIND308_IRIX_CC)) \
|| (defined(SYSTEME_SGIND324_IRIX_CC)) \
|| (defined(SYSTEME_SGIND3GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND408_IRIX_CC)) \
|| (defined(SYSTEME_SGIND424_IRIX_CC)) \
|| (defined(SYSTEME_SGIND4GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND508_IRIX_CC)) \
|| (defined(SYSTEME_SGIND524_IRIX_CC)) \
|| (defined(SYSTEME_SGIND5GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND808_IRIX_CC)) \
|| (defined(SYSTEME_SGIND824_IRIX_CC)) \
|| (defined(SYSTEME_SGIND8GA_IRIX_CC)) \
|| (defined(SYSTEME_SGINDA08_IRIX_CC)) \
|| (defined(SYSTEME_SGINDA24_IRIX_CC)) \
|| (defined(SYSTEME_SGINDAGA_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A1_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A2_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A4_IRIX_CC)) \
|| (defined(SYSTEME_SGO25224_IRIX_CC)) \
|| (defined(SYSTEME_SGO252VA_IRIX_CC)) \
|| (defined(SYSTEME_SGO252VN_IRIX_CC)) \
|| (defined(SYSTEME_SGPCM801_IRIX_CC)) \
|| (defined(SYSTEME_SGPCMA01_IRIX_CC)) \
)
#Eif ( (defined(SYSTEME_SGIND308_IRIX_CC)) \
|| (defined(SYSTEME_SGIND324_IRIX_CC)) \
|| (defined(SYSTEME_SGIND3GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND408_IRIX_CC)) \
|| (defined(SYSTEME_SGIND424_IRIX_CC)) \
|| (defined(SYSTEME_SGIND4GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND508_IRIX_CC)) \
|| (defined(SYSTEME_SGIND524_IRIX_CC)) \
|| (defined(SYSTEME_SGIND5GA_IRIX_CC)) \
|| (defined(SYSTEME_SGIND808_IRIX_CC)) \
|| (defined(SYSTEME_SGIND824_IRIX_CC)) \
|| (defined(SYSTEME_SGIND8GA_IRIX_CC)) \
|| (defined(SYSTEME_SGINDA08_IRIX_CC)) \
|| (defined(SYSTEME_SGINDA24_IRIX_CC)) \
|| (defined(SYSTEME_SGINDAGA_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A1_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A2_IRIX_CC)) \
|| (defined(SYSTEME_SGO200A4_IRIX_CC)) \
|| (defined(SYSTEME_SGO25224_IRIX_CC)) \
|| (defined(SYSTEME_SGO252VA_IRIX_CC)) \
|| (defined(SYSTEME_SGO252VN_IRIX_CC)) \
|| (defined(SYSTEME_SGPCM801_IRIX_CC)) \
|| (defined(SYSTEME_SGPCMA01_IRIX_CC)) \
)
#if ( (defined(SYSTEME_VAX9000_ULTRIX_GCC)) \
)
begin_nouveau_block
# define DIVIDENDE \
FZERO
DEFV(Float,INIT(diviseur,FQUATRE));
DEFV(Float,INIT(quotient,FLOT__UNDEF));
EGAL(quotient,gDIVI(DIVIDENDE,diviseur));
/* ATTENTION, bien entendu, il ne faut pas utiliser 'DIVI(...)' mais 'gDIVI(...)'. */
Test(IZNE(quotient))
Bblock
DEFINEV("BUG_SYSTEME_VAX9000_ULTRIX_GCC_division_de_zero");
/* La division de 0 par une valeur flottante ne donne pas 0, mais apparemment l'inverse */
/* du double du diviseur (voir 'v $Dbugs/VAX9000$D/ULTRIX$D/GCC$D/division.01$c')... */
Eblock
ATes
Bblock
Eblock
ETes
# undef DIVIDENDE
end_nouveau_block
#Aif ( (defined(SYSTEME_VAX9000_ULTRIX_GCC)) \
)
#Eif ( (defined(SYSTEME_VAX9000_ULTRIX_GCC)) \
)
begin_nouveau_block
# define MOINS_L_INFINI_non_caste \
0x80000001
# define INFINI_non_caste \
0x7fffffff
DEFV(Float,INIT(valeur,FZERO));
Test(IFINff(valeur,FLOT(MOINS_L_INFINI_non_caste),FLOT(INFINI_non_caste)))
/* Evidemment, il ne faut pas utiliser 'MOINS_L_INFINI' et 'INFINI'... */
Bblock
Eblock
ATes
Bblock
DEFINEV("BUG_SYSTEME_C_caster_0x");
/* Les constantes hexadecimales devront etre castees par '(int)' dans la procedure */
/* 'v $xig/defin_2$vv$DEF DEFINEX'. */
Eblock
ETes
# undef INFINI_non_caste
# undef MOINS_L_INFINI_non_caste
end_nouveau_block
#if ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
)
begin_nouveau_block
# define NOM_DU_PORT_exec_tcp \
"PortExecTcp"
/* Nom de la variable 'C-Shell' definie dans 'v $FbugsL PortExecTcp'. */
DEFV(RemoteServeur,INIT(POINTERs(caracteristiques_du_serveur_exec_tcp),ADRESSE_NON_ENCORE_DEFINIE));
/* Destine a '_GetServeurByName(...)' pour caracteriser le service demande. */
DEFV(Int,INIT(numero_attendu_pour_le_port,GvalDefaut(NOM_DU_PORT_exec_tcp,ADRESSE_NON_ENCORE_DEFINIE)));
/* Recuperation du numero de port que l'on suppose en fait connu... */
EGAL(caracteristiques_du_serveur_exec_tcp,_GetServeurByName("exec","tcp"));
/* Recherche du code du serveur "exec/tcp". */
Test(IFNE_chaine(Gvar(NOM_DU_PORT_exec_tcp),VALEUR_D_UNE_VARIABLE_UNDEF))
Bblock
Test(IFNE(numero_attendu_pour_le_port,ADRESSE_NON_ENCORE_DEFINIE))
Bblock
Test(IFNE(ASI1(caracteristiques_du_serveur_exec_tcp,s_port),numero_attendu_pour_le_port))
Bblock
DEFINEV("BUG_SYSTEME_SYSTEME_APC_LinuxDebian_GCC_numero_de_port");
/* Lorsque le port recupere par 'getservbyname(...)' est different de ce que l'on attendait, */
/* on corrige ce que l'on croit etre une erreur (introduit le 19990823131431). */
/* La fonction 'getservbyname(...)' renvoie les numeros de port sur 2 octets qui sont */
/* malheureusement permutes ('v $FbugsL PortExecTcp'). */
/* */
/* Aux dernieres nouvelles ('v $Dcourrier_in/19990827180623 htons'), il ne s'agirait pas */
/* d'une erreur. On trouve dans 'v /usr/include/glib.h swapping' des procedures assurant */
/* les conversions utiles. */
/* */
/* Je conserve malgre tout 'BUG_SYSTEME_SYSTEME_APC_LinuxDebian_GCC_numero_de_port'... */
Eblock
ATes
Bblock
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (1).");
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (2).");
Eblock
ETes
# undef NOM_DU_PORT_exec_tcp
end_nouveau_block
#Aif ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
)
#Eif ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
)
#if ( (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
)
begin_nouveau_block
# define NOM_DU_PORT_exec_tcp \
"PortExecTcp"
/* Nom de la variable 'C-Shell' definie dans 'v $FbugsL PortExecTcp'. */
DEFV(RemoteServeur,INIT(POINTERs(caracteristiques_du_serveur_exec_tcp),ADRESSE_NON_ENCORE_DEFINIE));
/* Destine a '_GetServeurByName(...)' pour caracteriser le service demande. */
DEFV(Int,INIT(numero_attendu_pour_le_port,GvalDefaut(NOM_DU_PORT_exec_tcp,ADRESSE_NON_ENCORE_DEFINIE)));
/* Recuperation du numero de port que l'on suppose en fait connu... */
EGAL(caracteristiques_du_serveur_exec_tcp,_GetServeurByName("exec","tcp"));
/* Recherche du code du serveur "exec/tcp". */
Test(IFNE_chaine(Gvar(NOM_DU_PORT_exec_tcp),VALEUR_D_UNE_VARIABLE_UNDEF))
Bblock
Test(IFNE(numero_attendu_pour_le_port,ADRESSE_NON_ENCORE_DEFINIE))
Bblock
Test(IFNE(ASI1(caracteristiques_du_serveur_exec_tcp,s_port),numero_attendu_pour_le_port))
Bblock
DEFINEV("BUG_SYSTEME_SYSTEME_APC_LinuxMandrake_GCC_numero_de_port");
/* Lorsque le port recupere par 'getservbyname(...)' est different de ce que l'on attendait, */
/* on corrige ce que l'on croit etre une erreur (introduit le 19990823131431). */
/* La fonction 'getservbyname(...)' renvoie les numeros de port sur 2 octets qui sont */
/* malheureusement permutes ('v $FbugsL PortExecTcp'). */
/* */
/* Aux dernieres nouvelles ('v $Dcourrier_in/19990827180623 htons'), il ne s'agirait pas */
/* d'une erreur. On trouve dans 'v /usr/include/glib.h swapping' des procedures assurant */
/* les conversions utiles. */
/* */
/* Je conserve malgre tout 'BUG_SYSTEME_SYSTEME_APC_LinuxMandrake_GCC_numero_de_port'... */
Eblock
ATes
Bblock
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (1).");
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (2).");
Eblock
ETes
# undef NOM_DU_PORT_exec_tcp
end_nouveau_block
#Aif ( (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
)
#Eif ( (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
)
#if ( (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
)
begin_nouveau_block
# define NOM_DU_PORT_exec_tcp \
"PortExecTcp"
/* Nom de la variable 'C-Shell' definie dans 'v $FbugsL PortExecTcp'. */
DEFV(RemoteServeur,INIT(POINTERs(caracteristiques_du_serveur_exec_tcp),ADRESSE_NON_ENCORE_DEFINIE));
/* Destine a '_GetServeurByName(...)' pour caracteriser le service demande. */
DEFV(Int,INIT(numero_attendu_pour_le_port,GvalDefaut(NOM_DU_PORT_exec_tcp,ADRESSE_NON_ENCORE_DEFINIE)));
/* Recuperation du numero de port que l'on suppose en fait connu... */
EGAL(caracteristiques_du_serveur_exec_tcp,_GetServeurByName("exec","tcp"));
/* Recherche du code du serveur "exec/tcp". */
Test(IFNE_chaine(Gvar(NOM_DU_PORT_exec_tcp),VALEUR_D_UNE_VARIABLE_UNDEF))
Bblock
Test(IFNE(numero_attendu_pour_le_port,ADRESSE_NON_ENCORE_DEFINIE))
Bblock
Test(IFNE(ASI1(caracteristiques_du_serveur_exec_tcp,s_port),numero_attendu_pour_le_port))
Bblock
DEFINEV("BUG_SYSTEME_SYSTEME_APC_LinuxRedHat_GCC_numero_de_port");
/* Lorsque le port recupere par 'getservbyname(...)' est different de ce que l'on attendait, */
/* on corrige ce que l'on croit etre une erreur (introduit le 19990823131431). */
/* La fonction 'getservbyname(...)' renvoie les numeros de port sur 2 octets qui sont */
/* malheureusement permutes ('v $FbugsL PortExecTcp'). */
/* */
/* Aux dernieres nouvelles ('v $Dcourrier_in/19990827180623 htons'), il ne s'agirait pas */
/* d'une erreur. On trouve dans 'v /usr/include/glib.h swapping' des procedures assurant */
/* les conversions utiles. */
/* */
/* Je conserve malgre tout 'BUG_SYSTEME_SYSTEME_APC_LinuxRedHat_GCC_numero_de_port'... */
Eblock
ATes
Bblock
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (1).");
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (2).");
Eblock
ETes
# undef NOM_DU_PORT_exec_tcp
end_nouveau_block
#Aif ( (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
)
#Eif ( (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
)
#if ( (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
begin_nouveau_block
# define NOM_DU_PORT_exec_tcp \
"PortExecTcp"
/* Nom de la variable 'C-Shell' definie dans 'v $FbugsL PortExecTcp'. */
DEFV(RemoteServeur,INIT(POINTERs(caracteristiques_du_serveur_exec_tcp),ADRESSE_NON_ENCORE_DEFINIE));
/* Destine a '_GetServeurByName(...)' pour caracteriser le service demande. */
DEFV(Int,INIT(numero_attendu_pour_le_port,GvalDefaut(NOM_DU_PORT_exec_tcp,ADRESSE_NON_ENCORE_DEFINIE)));
/* Recuperation du numero de port que l'on suppose en fait connu... */
EGAL(caracteristiques_du_serveur_exec_tcp,_GetServeurByName("exec","tcp"));
/* Recherche du code du serveur "exec/tcp". */
Test(IFNE_chaine(Gvar(NOM_DU_PORT_exec_tcp),VALEUR_D_UNE_VARIABLE_UNDEF))
Bblock
Test(IFNE(numero_attendu_pour_le_port,ADRESSE_NON_ENCORE_DEFINIE))
Bblock
Test(IFNE(ASI1(caracteristiques_du_serveur_exec_tcp,s_port),numero_attendu_pour_le_port))
Bblock
DEFINEV("BUG_SYSTEME_SYSTEME_APC_LinuxUbuntu_GCC_numero_de_port");
DEFINEV("BUG_SYSTEME_SYSTEME_APC_LinuxUbuntu_ICC_numero_de_port");
DEFINEV("BUG_SYSTEME_SYSTEME_APC_LinuxUlmint_GCC_numero_de_port");
DEFINEV("BUG_SYSTEME_SYSTEME_APC_LinuxUlmint_ICC_numero_de_port");
/* Lorsque le port recupere par 'getservbyname(...)' est different de ce que l'on attendait, */
/* on corrige ce que l'on croit etre une erreur (introduit le 19990823131431). */
/* La fonction 'getservbyname(...)' renvoie les numeros de port sur 2 octets qui sont */
/* malheureusement permutes ('v $FbugsL PortExecTcp'). */
/* */
/* Aux dernieres nouvelles ('v $Dcourrier_in/19990827180623 htons'), il ne s'agirait pas */
/* d'une erreur. On trouve dans 'v /usr/include/glib.h swapping' des procedures assurant */
/* les conversions utiles. */
/* */
/* Je conserve malgre tout 'BUG_SYSTEME_SYSTEME_APC_LinuxUbuntu_GCC_numero_de_port'... */
Eblock
ATes
Bblock
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (1).");
Eblock
ETes
Eblock
ATes
Bblock
MESSAGE("La variable '"NOM_DU_PORT_exec_tcp"' semble ne pas etre definie (2).");
Eblock
ETes
# undef NOM_DU_PORT_exec_tcp
end_nouveau_block
#Aif ( (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
#Eif ( (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
#if ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
|| (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
|| (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
begin_nouveau_block
/* Ceci a ete introduit le 20040227135153... */
Bblock
TypedefS(VolatileDouble,CONC(Volatile,Double))
/* Ce type n'a pas etre defini dans 'v $xil/defi_c1$vv$DEF' car il n'a pas a servir */
/* ailleurs qu'ici... */
DEFV(Double,INIT(racine_de_2_80_bits,RACX(FDEUX)));
DEFV(VolatileDouble,INIT(racine_de_2_64_bits,FLOT__UNDEF));
EGAL(racine_de_2_64_bits,racine_de_2_80_bits);
/* Evidemment 'racine_de_2_80_bits' et 'racine_de_2_64_bits' doivent etre egaux bit a bit, */
/* mais est-ce bien vrai... */
Test(IFNE(racine_de_2_64_bits,racine_de_2_80_bits))
/* Cas ou 'racine_de_2_80_bits' et 'racine_de_2_64_bits' sont differents : */
Bblock
DEFINEV("BUG_SYSTEME_APC_GCC_ExcessPrecisionProblem_01");
/* Voir a ce propos 'v $Dbugs/APC$D/LinuxDebian$D/GCC$D/flottant.02$c' par exemple... */
/* */
/* ATTENTION : depuis l'introduction de l'option 'v $Fcompilers -ffloat-store' le */
/* 20040220103647, ce "bug" ne sort plus... */
Eblock
ATes
Bblock
Eblock
ETes
Eblock
end_nouveau_block
begin_nouveau_block
/* Ceci a ete introduit le 20040409115527 suite au probleme v $xiirs/$Fnota 20040330115702' */
/* qui a ete resolu grace a 'v $xil/defi_c3$vv$DEF GooF' aux environs du 20040425174450. */
Bblock
DEFV(FloatInt,Zh);
DEFV(Float,INIT(Zf,FLOT__UNDEF));
DEFV(Float,INIT(Zf_01___conditionnel,FLOT__UNDEF));
DEFV(Float,INIT(Zf_01_inconditionnel,FLOT__UNDEF));
/* Variable 'Zf' et ses conversions dans [0,1] conditionnelle et inconditionnelle... */
EGAL(FloatInt_Int_1(Zh),0x68dfd5c4);
EGAL(FloatInt_Int_2(Zh),0xbfa61de7);
EGAL(Zf,FloatInt_Float(Zh));
/* Definition d'un nombre flottant valant approximativement -0.0431968989868596609 et qui */
/* pose probleme... */
EGAL(Zf_01___conditionnel,SOUS(bSCAL___conditionnelle(Zf),COORDONNEE_BARYCENTRIQUE_CENTRALE));
/* Mise de 'Zf' dans [0,1] de facon conditionnelle. On notera l'usage de 'bSCAL(...)' */
/* (et non pas de 'SCAL(...)') afin de "maitriser" la presence du 'COND(''')' qui est la */
/* source du probleme. La presence de la fonction 'bSCAL___conditionnelle(...)' est */
/* destinee a faire se manifester le probleme meme en presence de l'option de compilation */
/* "-ffloat-store" ; par contre, il ne faut surtout pas declarer la fonction "symetrique" */
/* 'bSCAL_inconditionnelle(...)' qui fait disparaitre le phenomene... */
EGAL(Zf_01_inconditionnel
,SOUS(bSCAL(SOUS(Zf,origine)
,SOUS(extremite,origine)
,SOUS(COORDONNEE_BARYCENTRIQUE_MAXIMALE,COORDONNEE_BARYCENTRIQUE_MINIMALE)
)
,COORDONNEE_BARYCENTRIQUE_CENTRALE
)
);
/* Mise de 'Zf' dans [0,1] de facon inconditionnelle. On notera l'usage de 'bSCAL(...)' */
/* (et non pas de 'SCAL(...)') afin de "maitriser" la presence du 'COND(''')' qui est la */
/* source du probleme... */
Test(IFNE(Zf_01___conditionnel,Zf_01_inconditionnel))
/* Cas ou 'Zf_01___conditionnel' et 'Zf_01_inconditionnel' sont differents : */
Bblock
DEFINEV("BUG_SYSTEME_APC_GCC_ExcessPrecisionProblem_02");
/* Voir a ce propos 'v $Dbugs/APC$D/LinuxRedHat$D/GCC$D/flottant.21$c' par exemple... */
/* */
/* Ce bug peut etre corrige grace a 'v $xil/defi_c3$vv$DEF GooF'... */
Eblock
ATes
Bblock
Eblock
ETes
Eblock
end_nouveau_block
#Aif ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
|| (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
|| (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
#Eif ( (defined(SYSTEME_APC_LinuxDebian_GCC)) \
|| (defined(SYSTEME_APC_LinuxMandrake_GCC)) \
|| (defined(SYSTEME_APC_LinuxRedHat_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_GCC)) \
|| (defined(SYSTEME_APC_LinuxUbuntu_ICC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_GCC)) \
|| (defined(SYSTEME_APC_LinuxUlmint_ICC)) \
)
RETU_Commande;
Eblock
ECommande