Hi ! I have a problem with gpc on a sun sparc. A simple program like this crashes the compiler (with gpc1 receiving a sig 11) : program foo; begin writeln(round(3.1)) end. Note that round(x) works fine. A debugger told me that in function expand_fix from file optabs.c, GET_MODE (from) was used with from = 0. I then discovered in file p/rts.c that there were differences between how trunc and round were implemented. So I tried to change the "case p_ROUND" in that file. That is I changed retval = fold(build1(... into retval = convert(long_long_integer_type_node, val); And it seems to work ! Could someone explain this to me ? Did I make something wrong ? Or is this the good way to correct the bug ? Thanks a lot ... -- E. Chaput *5 61 58 82 10 Emmanuel.Chaput@enseeiht.fr ENSEEIHT, Dépt Télécom & Réseaux
participants (1)
-
Emmanuel Chaput