Chybka v gcc?
Jakub Jelinek
jj na sunsite.ms.mff.cuni.cz
Středa Listopad 26 14:40:05 CET 1997
> Ahoj,
>
> nevite nekdo, jestli v gcc 2.7.2.2 (soucast slackware 3.3) neni chyba?
> Kompilace tohoto programu mi skonci se signalem 6 (SIGABRT):
Pokud tohle dela, tak zjevne ano.
>
> $ cat pok.c
>
> void fn()
> {
> int op;
>
> if (op < 0)
> op = 1 / (op > 0);
> }
>
>
> $ gcc -c pok.c
> gcc: Internal compiler error: program cc1 got fatal signal 6
Nemela byt ve vykosteni ta promenna alespon nejak inicializovana?
Kazdopadne jak gcc 2.7.2.1, tak egcs nejnovejsi verze (sparc64-sun-linux-glibc1)
si s tim poradi. Jen nevim, jestli korektne, protoze treba pro
inicializovanou op=-1 a -O2 to vsechno vyoptimalizuje, ackoliv
by to melo vygenerovat kod, ktery vzdy zpusobi deleni nulou
(ale kdyz uz je static int op; tak se to tak chova).
Kazdopadne bych upgradoval gcc.
Kdyztak by bylo i zajimave udelat si gcc -da -c pok.c
a prostudovat, co se tam deje.
Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj na sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.0.30 on a sparc machine (291.64 BogoMips).
___________________________________________________________________
Další informace o konferenci Linux