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