Return to BSD News archive
Xref: sserve comp.os.386bsd.questions:900 comp.os.386bsd.development:256 Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.development Path: sserve!newshost.anu.edu.au!munnari.oz.au!uunet!zaphod.mps.ohio-state.edu!uwm.edu!ux1.cso.uiuc.edu!news.cso.uiuc.edu!uxa.cso.uiuc.edu!rkb55989 From: rkb55989@uxa.cso.uiuc.edu (Rafal) Subject: GCC 2.3.3 optimizer broken? Date: Sat, 20 Mar 1993 21:57:51 GMT Message-ID: <C47JoG.5v5@news.cso.uiuc.edu> Sender: usenet@news.cso.uiuc.edu (Net Noise owner) Organization: University of Illinois at Urbana Lines: 42 I came accross a problem w/GCC 2.3.3's "-O -fstrength-reduce" combo while trying to compile Seyon v1.8.... The code that caused the problem is in SeGeneric.c, and looks like: [This is SeGeneric.c, lines 17-50, by the way, without comments] > void ReadCommentedFile(fp, line) > FILE *fp; > char *line[]; > { > char buffer[REG_BUF + 1], > *bufPtr, > ptr; > int i; > > for (i = 0; i < MAX_ENT && fgets(buffer, REG_BUF, fp) != NULL;) { > buffer[strlen(buffer) - 1] = '\0'; > bufPtr = SSpc(buffer); > > if (*bufPtr == '\0' || *bufPtr == '#') > continue; > if ((ptr = strrchr(bufPtr, '#')) != NULL) > *ptr = '\0'; > > line[i++] = XtNewString(bufPtr); > } > line[i] = NULL; >} This code will compile fine and run fine if -O -fstrength-reduce is not fed to the compiler, but will barf with a SIGSEGV somewhere on the "if (*bufPtr == '\0' || *bufPtr == '#') " line.... Now am I on drugs, or is there something wrong with this behavior?? Rafal /------------------------------------------------------------------------\ |Rafal Boni r-boni@uiuc.edu| |"Me have a .sig?? I don't even have a clue!" rkb55989@uxa.cso.uiuc.edu| | - Anonymous rb6775@caffeine.cen.uiuc.edu| \------------------------------------------------------------------------/