Demande confirmation erreur dans ctype.h de VBCC

2 sujets de 1 à 2 (sur un total de 2)

  • DaddyDav

      #6841

      Comme beaucoup d’entre nous qui utilisont VBCC comme compilateur j’ai mis à jour ce dernier avec la dernier version disponible.

      Mais après la compilation de DW (68k), il ne fonctionnait plus correctement. Il ne pouvait plus traiter les fichiers de configuration.

      J’ai donc mené mon enquette et voilà ce qui en ressort.

      Le fichier ctype.h à été modifier :

      Ancien ctype.h :

      int __asm_toupper(__reg("d0") int) =

      "txreft___ctypen"

      "tleat___ctype,a0n"

      "tbtstt#1,(1,a0,d0.w)n"

      "tbeq.bt*+4n"

      "tand.bt#$df,d0n"

      ";=barrier";

      int __asm_tolower(__reg("d0") int) =

      "txreft___ctypen"

      "tleat___ctype,a0n"

      "tbtstt#0,(1,a0,d0.w)n"

      "tbeq.bt*+4n"

      "tor.bt#$20,d0n"

      ";=barrier";

      Nouveau fichier ctype.h

      int __asm_toupper(__reg("d0") int) =

      "txreft___ctypen"

      "tleat___ctype,a0n"

      "tbtstt#1,(1,a0,d0.w)n"

      "tbeq.bt*+6n"

      "tand.bt#$df,d0n"

      ";=barrier";

      int __asm_tolower(__reg("d0") int) =

      "txreft___ctypen"

      "tleat___ctype,a0n"

      "tbtstt#0,(1,a0,d0.w)n"

      "tbeq.bt*+6n"

      "tor.bt#$20,d0n"

      ";=barrier";

      On voit qu’une donnée numérique est passé de 4 à 6.

      Je voudrait savoir si c’est heureux ou que c’est une erreur d’avoir fait cette modification.

      Je ferais un mail à franck pour lui signalé le probleme si cette erreur se trouve en être une.

      PS : depuis que j’ai remis l’ancien ctype.h DW (68k) refonctionne normalement. La version MOS n’a pas soufert de cette mésaventure…

      thellier

        #109607

        Salut

        J’ai plus mes docs sur l’asm 68000 …

        mais le beq (branch equal) saute les 4 ou 6 octets finals pour éviter le or.b si la condition est ok

        Même sans docs j’ai du mal à croire que le or.b final prenne 6 octets donc l’ancienne version à 4 octets a certainement raison

        De toute façon les deux peuvent pas voir raison un or.b prend 4 ou 6 octets mais pas les deux ;-)

        Alain

      2 sujets de 1 à 2 (sur un total de 2)

      • Vous devez être connecté pour répondre à ce sujet.

      Forums AmigaOS, MorphOS et AROS Développement Demande confirmation erreur dans ctype.h de VBCC

      Amiga Impact