comp.lang.ada
 help / color / mirror / Atom feed
From: elroy.jpl.nasa.gov!sdd.hp.com!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu !dsinc!gvlf3.gvl.unisys.com!email!parkhill@ames.arc.nasa.gov  (parkhill)
Subject: Re: 'SIZE attribute of a type
Date: 12 Dec 91 15:36:34 GMT	[thread overview]
Message-ID: <5901@email.sp.unisys.com> (raw)

Mr Mark Biggar writes:

>I don't thing anyone would implement this as an automatic feature of an
>Ada compiler.  But, it is perfectly reasonable for the rep-clause

> for b'size use 1;

> to cause a compiler to do just what you want, while not having the
> rep-clause would make b'size something like 8, 16 or 32.

> b'size is the actual storage used for the type not the minimum possible.


If I am correctly understanding the interpretation of Type_Name'Size
the attribute should return the minimum number of bits objects of this
type might require.  So when a compiler usually uses 16 bits to represent
objects of type boolean, but in the case of pragma pack on a boolean array
only uses 1 bit, Boolean'Size must return 1.  In the case of of compiler
that can at some time understand and interpret baised types and produce
a very small range, than the compiler should generate and return that 
small number of bits for type_name'Size.  Remember, even if you do not use
pragma Pack in your program Boolean'Size still returns 1.  It doesn't
matter if you use the feature at all, it only depends upon whether the
compiler is capable of packing boolean arrays. 

I believe Object_Name'Size returns the actual storage used for an object.
There is little correlation between Object_Name'Size and Type_Name'Size.

If I am wrong anyone feel free to post a correction. I am clearly NOT an
Ada expert.

Robert Parkhill

             reply	other threads:[~1991-12-12 15:36 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1991-12-12 15:36 elroy.jpl.nasa.gov!sdd.hp.com!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu [this message]
  -- strict thread matches above, loose matches on Subject: below --
1991-12-13 17:24 'SIZE attribute of a type elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!ds
1991-12-13 16:00 Alex Blakemore
1991-12-13 15:23 agate!spool.mu.edu!yale.edu!qt.cs.utexas.edu!zaphod.mps.ohio-state.edu!ca
1991-12-12 22:49 Robert I. Eachus
1991-12-12 15:18 elroy.jpl.nasa.gov!swrinde!mips!samsung!caen!umeecs!dip.eecs.umich.edu!wa
1991-12-12  3:17 Mark Biggar
1991-12-11 18:29 elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!gv
1991-12-10 12:30 mcsun!uknet!yorkohm!minster!mjl-b
1991-12-10  8:23 paul goffin
1991-12-09 13:24 Ed Matthews
1991-12-07  0:32 Donald Gardner
1991-12-06 21:14 Ed Matthews
1991-12-06 21:07 Richard Pattis
1991-12-06 20:15 parkhill
1991-12-06 20:04 parkhill
1991-12-06 18:50 Brian Hanafee
1991-11-14 20:15 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!mips!pacbell.com!iggy.GW.Vit
1991-11-14 19:58 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!mips!pacbell.com!iggy.GW.Vit
1991-11-14 16:45 Danford Lehman
1991-11-13 17:01 elroy.jpl.nasa.gov!sdd.hp.com!mips!zaphod.mps.ohio-state.edu!unix.cis.pit
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox