1

A mort ! Qu'on les pende ! Qu'on ecartele !

J'ai passe plus de 5 h a debugguer mon code pour me rendre compte que ce qui plantait etait LONG_MIN/1 !!!!!!!!!!!!!!!!!!

Test case:
#include <limits.h>

int f(long a, long b);

int main()
{
  return f(LONG_MIN, 1);
}

int f(long a, long b)
{
  return a / b;
}


On a droit a un:
Floating exception (core dumped)

PS: Bon va falloir faire un bug report. Ou ?

2

Comment ça peut arriver un bug pareil ? eek

3

et si tu castes explicitement ton a/b ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

4

Ben en fait j'ai besoin d'une division en long Genre: LONG_MIN/p <= alpha
pour verifie que p*alpha ne va pas faire overflow. Donc...

./2: je te le fais pas dire... Mais c'est peut etre une vieille version de FreeBsd.

5

pour le bug report, tout dépend avec quel compilo tu as fait ça. Si c'est GCC, aller voir si y'a pas un bugzilla pour gcc sur www.gnu.org.
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

6

Oue c'est GCC (3.3.3) sous alpha-unknown-freebsd5.2.1 . Mais le bug provient de la fonction "__divq".

7

(il manque un e dans le titre)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

8

A noter qu'avec GCC 3.2.1 sur un Digital UNIX V4.0E sous alpha, ca ne le fait pas .

9

http://gcc.gnu.org/

verifier avant si le bug n'existe pas, et si non, pphd, tu auras droit d'aller le rajouter, et même d'y proposer un correctif.
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

10

11

Le probleme est que avant de reporter, il faut que je reteste avec GCC 3.4.2. Donc que je le recompile.
Bref pas avant 3 h.

12

13

Nouveau bug: tripaf
/* Build with:
    -g -mfp-rounding-mode=d -mieee-with-inexact  => BUG
   and with:
   -g -mfp-rounding-mode=d -mieee-with-inexact -O2  => No Bug 
*/
int main()
{
  long double d, e;
  d = 1.0; while ((e = d / 2.0) != (long double) 0.0) d = e;
  return 0;
}

Meme configuration bang

14

une plateforme de rêve happy

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

15

Rien a voir mais je suis en train de m'amuser a installer GCC 2.7.2.3, puis GCC 1.42 triso
Le temps de compilation de GCC 2.7.2.3 est super top (Mais l'install est loin d'etre trivialle).

16

Le temps pour compiler GCC 1.42 est utopique: 30s triso ...
Reste plus qu'a le faire marcher sad

17

On pourrait même essayer de le faire tourner on-calc, d'ailleurs.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Si tu veux essayer: ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/gcc/gcc-1.42.tar.gz
Moi j'ai des problemes de libc qui suppose que GCC est au moins une 2.x hehe

19

Kevin Kofler :
On pourrait même essayer de le faire tourner on-calc, d'ailleurs.

Je cite en cas d'edit, Kevin promeut la mise en place d'un compilateur C sur Ti !
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

20

Il a juste dit "essayer". gni
Taille pour GCC 1.42:

505576 Sep 21 16:13 gcc-cc1
47576 Sep 21 16:13 gcc-cpp
29068 Sep 21 16:13 gcc-gnulib

21

Et le temps de compilation des programmes avec GCC 1.42: king
Fucking probleme de libc qui m'empeche de linker sad

22

Ca se trouve pas une vieille version de libc?

23

Va falloir chercher.

24

Il te faut la libc5 probablement (ou une encore plus vieille).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

25

Et pour on-calc: bon, déjà il faudra apparemment une FlashApp. Ensuite, je ne sais pas si la RAM sera suffisante. Et enfin, je ne pense pas que faire tourner un vieux GCC servirait beaucoup si on considère le fait que ld-tigcc consomme beaucoup trop de RAM pour tourner on-calc. (J'ai fait des mesures avec Valgrind et la consommation mémoire se comptait en MO. sad)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

26

Je trouve pas moins que glibc v1.09... deja trop recent sad

27

Ca fait peur ton truc...
Il te le fallait pourquoi exactement? pour le fun? grin

kevin> oui on m'avait déja dit que GCC prenait bcp trop de ram pour une ti sad

28

Pour le boulot. Pourquoi ?

29

avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

30

Bonheur: ftp://ftp.gnu.org/old-gnu/gcc/
GCC 1.30. Je vais l'installer de suite.