--- rpl/src/gestion_pile.c 2013/03/21 12:08:25 1.48 +++ rpl/src/gestion_pile.c 2022/09/07 13:40:32 1.76 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.13 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.34 + Copyright (C) 1989-2021 Dr. BERTRAND Joël This file is part of RPL/2. @@ -128,14 +128,14 @@ empilement(struct_processus *s_etat_proc if ((*s_etat_processus).langue == 'F') { printf("[%d] Empilement de type %d " - "(profondeur %lu)\n", (int) getpid(), + "(profondeur %lld)\n", (int) getpid(), (*s_objet).type, (*s_etat_processus).hauteur_pile_operationnelle); } else { printf("[%d] Pushing a type %d object " - "(depth %lu)\n", (int) getpid(), (*s_objet).type, + "(depth %lld)\n", (int) getpid(), (*s_objet).type, (*s_etat_processus).hauteur_pile_operationnelle); } @@ -192,14 +192,15 @@ depilement(struct_processus *s_etat_proc if ((*s_etat_processus).langue == 'F') { printf("[%d] Dépilement de type %d " - "(profondeur %lu)\n", (int) getpid(), + "(profondeur %lld)\n", (int) getpid(), (*(*s_objet)).type, (*s_etat_processus).hauteur_pile_operationnelle); } else { printf("[%d] Pulling a type %d object " - "(depth %lu)\n", (int) getpid(), (*(*s_objet)).type, + "(depth %lld)\n", (int) getpid(), + (*(*s_objet)).type, (*s_etat_processus).hauteur_pile_operationnelle); } @@ -266,6 +267,10 @@ affichage_pile(struct_processus *s_etat_ return; } +// Bug de gcc à partir de gcc 4.6 (bug 48544) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclobbered" + void ecriture_pile(struct_processus *s_etat_processus, file *flux, struct_liste_chainee *l, integer8 niveau_courant) @@ -294,7 +299,7 @@ ecriture_pile(struct_processus *s_etat_p if ((*s_etat_processus).var_volatile_recursivite == 0) { - if (fprintf(flux, "%lu: ...\n", niveau_courant) < 0) + if (fprintf(flux, "%lld: ...\n", niveau_courant) < 0) { (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; @@ -345,7 +350,7 @@ ecriture_pile(struct_processus *s_etat_p free(registre); } - if (fprintf(flux, "%lu: %s\n", niveau_courant, chaine) < 0) + if (fprintf(flux, "%lld: %s\n", niveau_courant, chaine) < 0) { (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -469,4 +474,6 @@ impression_pile(struct_processus *s_etat return; } +#pragma GCC diagnostic pop + // vim: ts=4