Path: utzoo!telly!ddsw1!lll-winken!killer!pollux!ti-csl!cs.utexas.edu!tut.cis.ohio-state.edu!UUNET.UU.NET!mcvax!moncam!paul From: mcvax!moncam!paul@UUNET.UU.NET (Paul Hudson) Newsgroups: gnu.gcc.bug Subject: gcc 1.28 on Sun 3 bug Message-ID: <8811021018.AA12486@marvin.moncam.uucp> Date: 2 Nov 88 10:18:29 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 47 /* GNU C version 1.28 (68k, MIT syntax) compiled by GNU C version 1.28. Produces the following erroneous output... begin.x 1 begin.y 2 end.x 3 end.y 515 */ struct point { unsigned x : 8; unsigned y : 24; }; typedef volatile struct point Point; struct line { Point begin; Point end; }; typedef volatile struct line Line; foo( Line * p ) { printf( "begin.x %d\n", p->begin.x ); printf( "begin.y %d\n", p->begin.y ); printf( "end.x %d\n", p->end.x ); printf( "end.y %d\n", p->end.y ); } main() { Line alpha; alpha.begin.x = 1; alpha.begin.y = 2; alpha.end.x = 3; alpha.end.y = 4; foo( &alpha ); }