Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site hou3c.UUCP Path: utzoo!linus!decvax!harpo!eagle!mhuxl!houxm!hocda!hou3c!ka From: ka@hou3c.UUCP (Kenneth Almquist) Newsgroups: net.lang.c Subject: Re: C "optimization" (8 of 8) Message-ID: <317@hou3c.UUCP> Date: Tue, 21-Feb-84 21:47:11 EST Article-I.D.: hou3c.317 Posted: Tue Feb 21 21:47:11 1984 Date-Received: Thu, 23-Feb-84 01:33:01 EST References: <210@mi-cec.UUCP> Organization: Bell Labs, Holmdel, NJ Lines: 19 This example also shows what is really a bug in the C compiler. After executing the assignment, it (unnecessarily) takes the value of *(a->p->p). The System V compilers for the VAX and the 3B20 do the same thing. Kenneth Almquist P. S. For those of you who don't have the original article, the C code was: typedef struct dp *DP; struct dp { int d; DP p; } test(a) DP a; { a->p->p->p->d = a->p->p->p->p->d; }