Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uunet!lupine!rfg From: rfg@NCD.COM (Ron Guilmette) Newsgroups: comp.std.c++ Subject: Re: Packing Across Inheritance Boundari Message-ID: <1316@lupine.NCD.COM> Date: 24 Aug 90 06:53:33 GMT References: <6540462@1990Aug3.211414.23872@watmath.wa> <13413@> <56843@microsoft.UUCP> Organization: Network Computing Devices, Inc., Mt. View, CA Lines: 34 In article <56843@microsoft.UUCP> jimad@microsoft.UUCP (Jim ADCOCK) writes: +... {some things} make packing order compatibility a moot issue: ... +Derived contiguous with parent structures, or references? I hope so. +segmented or flat pointers? Everybody except Intel uses flat. (No flames please. All generalizations are false, including this one.) +... Thus, please leave compiler implementation +details out of the language specification. One man's "implementation detail" is another man's language semantics. I believe that ANSI C requires that: (&a[2] - &a[1]) == 1 Are you going to suggest that this should have been left out of ANSI C because it unduly restricts the implementation of arrays to consecutive memory locations with ascending addresses? How about the semantics of `volatile'? Should that all be tossed out of ANSI C also? After all, it does put some rather specific constraints on implementations. -- // Ron Guilmette - C++ Entomologist // Internet: rfg@ncd.com uucp: ...uunet!lupine!rfg // Motto: If it sticks, force it. If it breaks, it needed replacing anyway.