[gnu.gcc.bug] gcc 1.32 duplicate case bug

geoff@warwick.UUCP (Geoff Rimmer) (01/26/89)

main()
{
	int z;
	char *str;
	
	z=atoi(gets(str=(char*)malloc(10)));
	switch(z)
	{
	case 1:
		printf("ONE\n");
		break;
	case 2:
		printf("TWO\n");
		break;
	case 1:
		printf("ONE AGAIN\n");
		break;
	}
}

cc (Sun OS4.0) gives 

	"case.c", line 18: duplicate case in switch, 1

lint (Sun OS4.0) gives

	case.c(18): duplicate case in switch, 1

but ... gcc version 1.32 DOESN'T COMPLAIN!!!

Is there a later version of gcc that has this bug fixed?

Geoff

	------------------------------------------------------------
	Geoff Rimmer, Computer Science, Warwick University, England.
			geoff@uk.ac.warwick.cs
			estnkcj@uk.ac.warwick.cu
	
	"I didn't ask to be made.  No consulted me or considered my
	 feelings in the matter, not that anyone considered that I
	 might *have* feelings.  After I was made, I was left in a
	 dark room for six months, and me with this terrible pain in
	 all the diodes down my left side.  My one and only true
	 friend was a small rat.  One day it climbed into a cavity of
	 my inner leg and died.  I've a horrible feeling it's still
	 there." - Marvin, The Hitch Hiker's Guide to the Galaxy.
	------------------------------------------------------------

schmidt@siam.ics.uci.edu (Doug Schmidt) (01/27/89)

In article <958@ubu.warwick.UUCP> geoff@emerald.UUCP (Geoff Rimmer) writes:
++ [example of 1.32 failing to detect duplicate cases in a switch
++Is there a later version of gcc that has this bug fixed?
++
++Geoff

Yes!

This is fixed in 1.33.  See below:

----------------------------------------
gcc version 1.33
 /usr/public/lib/gcc/gcc-cpp -v -I/cd/ua/schmidt/include/ -undef
-D__GNUC__ -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ bug.c
/tmp/cca04847.cpp  
GNU CPP version 1.33
 /usr/public/lib/gcc/gcc-cc1 /tmp/cca04847.cpp -quiet -dumpbase bug.c
-fstrength-reduce -finline-functions -version -o /tmp/cca04847.s 
GNU C version 1.33 (sparc) compiled by GNU C version 1.33.
bug.c: In function main:
bug.c:16: duplicate case value
----------------------------------------

Doug
--
schmidt@ics.uci.edu (ARPA) |   Per me si va nella citta' dolente.
office: (714) 856-4043     |   Per me si va nell'eterno dolore.
                           |   Per me si va tra la perduta gente.
                           |   Lasciate ogni speranza o voi ch'entrate.