Path: utzoo!telly!ddsw1!lll-winken!killer!tness7!texbell!bigtex!natinst!cs.utexas.edu!tut.cis.ohio-state.edu!mailrus!rutgers!ucsd!sdcsvax!beowulf!dlong From: dlong@beowulf.ucsd.edu (Dean Long) Newsgroups: gnu.gcc.bug Subject: Re: bug in sparc gcc 1.28 Message-ID: <5344@sdcsvax.UCSD.EDU> Date: 30 Sep 88 21:58:20 GMT References: <8809281232.AA02342@moose.cita.toronto.edu> Sender: nobody@sdcsvax.UCSD.EDU Reply-To: dlong@beowulf.UCSD.EDU (Dean Long) Distribution: gnu Organization: EE/CS Dept. U.C. San Diego Lines: 44 In article <8809281232.AA02342@moose.cita.toronto.edu> trq@moose.cita.toronto.edu (Tom Quinn) writes: >The following code causes gcc to get a fatal signal. This is gcc >version 1.28 on a sun4/110 running SunOs 4.0. . . . >------------------------------------------------------------------------ >defimage_ (arr,x1,x2,y1,y2,nx,ny) >float *arr, > *x1,*x2,*y1,*y2; >int *nx,*ny; >{ > char *malloc(); > static float **z = 0 ; . . . > defimage(z,*x1,*x2,*y1,*y2,*nx,*ny); >} I tried this program. Changing the float to double makes it work. Also, the same for this smaller version: crash() { float *x; foo(1,*x,*x,*x); } The strange thing is that small changes to the parameters, or changing float to double makes it work. I was using dbx and found that a REG with SImode was using regno 34, which I think causes some constraint to fail. Also, when using dbx on cc1 compiled with gcc, register variable values are printed incorrectly. cc1 compiled with Sun cc is OK. Dean Long University of California, San Diego dlong@beowulf.ucsd.edu