Newsgroups: comp.std.c Path: utzoo!henry From: henry@zoo.toronto.edu (Henry Spencer) Subject: Re: Another sizeof question Message-ID: <1990Nov16.171541.19468@zoo.toronto.edu> Organization: U of Toronto Zoology References: <13171@crdgw1.crd.ge.com> <492@taumet.com> <1990Nov2.034300.3065@tkou02.enet.dec.com> <4146@se-sd.SanDiego.NCR.COM> <3928@male.EBay.Sun.COM> Date: Fri, 16 Nov 90 17:15:41 GMT In article <3928@male.EBay.Sun.COM> diamond@tkou02.enet.dec.com (diamond@tkovoa) writes: >rs>... everything is allowed via a #pragma. X3J11 reaffirmed at some point >rs>that the behavior of any program with a #pragma is implementation defined, >rs>so a #pragma can do anything. > >If this is really true, it defeats the purpose of #pragma. My understanding >was that #pragma may have any implementation-defined effect WHICH does not >change the meaning of a conforming program ... Sorry, not so. 3.8.6 states simply that #pragma has an implementation-defined effect. Period. No restrictions are explicit, and it does not appear to be possible to infer them. (The standard attempt to infer them states that one must read the standard as a whole, so 3.8.6 is subject to constraints imposed elsewhere. The standard counterargument is that the rest of the standard is subject to the constraint imposed in 3.8.6, i.e. that the presence of a #pragma has implementation-defined effects, and so nothing can be said about how the rest of the standard applies in such a situation.) -- "I don't *want* to be normal!" | Henry Spencer at U of Toronto Zoology "Not to worry." | henry@zoo.toronto.edu utzoo!henry