Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2.fluke 9/24/84; site vax2.fluke.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!houxm!vax135!cornell!uw-beaver!fluke!kurt
From: kurt@fluke.UUCP (Kurt Guntheroth)
Newsgroups: net.bugs.4bsd
Subject: C compiler incorrectly handles castes on lhs
Message-ID: <937@vax2.fluke.UUCP>
Date: Wed, 18-Sep-85 14:28:15 EDT
Article-I.D.: vax2.937
Posted: Wed Sep 18 14:28:15 1985
Date-Received: Thu, 19-Sep-85 06:50:53 EDT
Organization: John Fluke Mfg. Co., Inc., Everett, WA
Lines: 29
Index: / 4.2BSD
Description:
The Vax 4.2 C compiler incorrectly generates a fatal error message
when castes to a pointer type appear on the lhs of an assignment.
The SUN C compiler and other c compilers I have tried correctly
handle this assignment.
The example below is artificial. I know there is a way to recode it
to avoid this bug, but that is not the point.
Repeat-By:
Compiling the following file % cc -c test.c
------------ test.c ---------------
main()
{
struct foo { int a,b; } ;
char * malloc();
char * cp;
((struct foo *) cp) = (struct foo *) malloc (sizeof (struct foo));
}
--------- end of test.c ------------
"test.c", line 8: illegal lhs of assignment operator
--
Kurt Guntheroth
John Fluke Mfg. Co., Inc.
{uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!kurt