Posted By: Drs (Fortran je muj kamarad) on 'CZprogram'
Title:     Deleni nulou v g77
Date:      Tue Mar 12 16:41:22 2002

Ahoj vsichni !
Vetsinu svych programu pisu na stroji Alpha s komercnim prekladacem f77 a ted 
bych neco potreboval prelozit na Linuxu pomoci g77. Na rozdil od toho 
komercniho prekladace neumi g77 pomoci nejakeho prepinace zapnout odchytani 
deleni nulou, ale pocita dal s NaN, coz samozrejme pri ladeni nechci. 

V infu pro g77 jsem nasel, ze to lze snadno vyresit prelozenim kodu:
#include <fpu_control.h>
static void __attribute__ ((constructor)) 
trapfpe ()
{
  __setfpucw (_FPU_DEFAULT &
      ~(_FPU_MASK_IM | _FPU_MASK_ZM | _FPU_MASK_OM));
}
pomoci prikazu gcc -o libtrapfpe.a trapfpe.c a pote prilinkovanim teto 
knihovny ke svemu programu. Problem mam ale s prelozenim tohoto kodu, dostavam 
chybu:
/usr/lib/crt1.o: In function `_start':
/usr/lib/crt1.o(.text+0x18): undefined reference to `main'
/tmp/ccJ4QiJz.o: In function `trapfpe':
/tmp/ccJ4QiJz.o(.text+0x9): undefined reference to `__setfpucw'
collect2: ld returned 1 exit status

Protoze delam vetsinu prace ve Fortranu a C spis jen rekreacne, nepodarilo se 
mi prijit na to, co s tim. Vi nekdo, co delam blbe ?
Dik za podnety :-)

 
                                          DrS
------------------------------------------------------------------
To jen aby rec nestala ...

Search the boards