Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!ll-xn!mit-eddie!bloom-beacon!oberon!bbn!uwmcsd1!ig!agate!ucbvax!decvax!decwrl!labrea!rocky!rokicki From: rokicki@rocky.STANFORD.EDU (Tomas Rokicki) Newsgroups: comp.sys.amiga Subject: Re: Structure alignment in Manx C Message-ID: <1045@rocky.STANFORD.EDU> Date: 14 Feb 88 06:56:56 GMT References: <8802140413.AA17411@cory.Berkeley.EDU> Organization: Stanford University Computer Science Department Lines: 19 Summary: I beg to differ dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: > > (Manx don't put longword entities on longword boundaries . . .) > It might not be preferable, but can hardly be called a bug. > Remember that warning a lonnngg time ago about declaring such items as > FileInfoBlocks auto? You can't for the very reason that they require > longword alignment and since longwords don't, no assumption can be made > as to the alignment the compiler used. Any compiler for a 68000/68020 machine, that does not do everything reasonable to put longword structures on longword boundaries, is buggy. Period. The Amiga is most certainly a 68000/68020 machine. I wonder how much slower those 68020 machines run because all of the Manx compiled commercial software (at least those with 16-bit ints) don't have their longwords aligned correctly? The costs are absolutely minimal, with the sole exception of passing mixed longword and 16-bit arguments to functions, in which case the costs are fair. I can't imagine any excuse for such behavior. -tom