Bonjour,

Nous sommes en train d'essayer de réaliser une montée de version de compilateur en passant du gcc 2.96 au gcc 3.4.6.

Lors d'un test, un traitement fonctionnel avec la compilation 2.96 produit une segmentation fault en 3.4.6.

Après recherche, il semble que l'erreur vienne de l'initialisation d'une variable d'une structure d'erreur (la mise en commentaire de cette ligne permet au traitement de se dérouler sans soucis).

La ligne est si basique que je ne comprends pas ce qui peut causer l'erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
strcpy( StructErr->NomSource ,  NOMFIC );
sachant que #define NOMFIC "fichierlot.c"

La structure stockant la variable est définie dans un autre fichier comme cela:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* structure erreur */
typedef struct {
    short AffichageEcran;           /* Flag =OK si on affiche a l'ecran */
    char FichierLog[100];           /* Chemin du fichier log */
    char NomTache[MAXTACHE];        /* nom de la tÀche */
    int  Cr;                        /* compte-rendu */
    int  Cerr;                      /* code erreur */
    char Cemet[20+1];               /* code emetteur */
    char Cdest[20+1];               /* code destinataire */
    char NomFic[MAXNOMFICH+1];      /* nom de fichier transmis */
    char NomBord[MAXNOMFICH+1];     /* nom du bordereau */
    char NomSource[MAXNOMFICH+1];   /* nom du fichier source */
    int  Ligne;                     /* numero de ligne */
    char Comment[700];              /* commentaire */
} T_Erreur;
typedef T_Erreur *pT_Erreur;
En vous remerciant par avance pour votre aide.