Path: utzoo!attcan!uunet!cs.utexas.edu!news-server.csri.toronto.edu!utgpu!watserv1!maytag!watdragon!spurge!ccplumb From: ccplumb@spurge.uwaterloo.ca (Colin Plumb) Newsgroups: comp.std.c Subject: Re: X3J11 Pleasanton meeting summary Message-ID: <1990Oct3.162241.15245@watdragon.waterloo.edu> Date: 3 Oct 90 16:22:41 GMT References: <13996@smoke.BRL.MIL> <1990Oct2.164709.23887@zoo.toronto.edu> Sender: daemon@watdragon.waterloo.edu (Owner of Many System Processes) Organization: University of Waterloo Lines: 31 In article <1990Oct2.164709.23887@zoo.toronto.edu> henry@zoo.toronto.edu (Henry Spencer) writes: >> struct foo x; >> struct foo { int i; }; >> /* the above is strictly conforming; incomplete-type objects can >> be defined, so long as by the end of the translation unit the >> type becomes complete so that storage can then be allocated */ > Betcha there isn't a compiler on Earth that will accept that today. > Everyone I know read the size as being needed at the time of the declaration. Taken. $5.00? Gcc 1.37.1 (VAX): #include struct foo x; struct foo { int i; }; int main() { x.i = 5; printf("++x.i = %d\n", ++x.i); return 0; } when run through gcc -ansi -pedantic -Wall produces a complaint about our non-ANSI header files (printf returns an int, therefore it isn't defined), and produces the expected output. -- -Colin