comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam@spam.com>
Subject: Re: Default rep specs for record types - documented??
Date: Fri, 04 Nov 2005 05:30:27 GMT
Date: 2005-11-04T05:30:27+00:00	[thread overview]
Message-ID: <TlCaf.1406$uD5.768@newsread3.news.pas.earthlink.net> (raw)
In-Reply-To: <slrndmlus8.kq0.bogus_addy@tango.mindfuq.org>

Anonymous Coward wrote:

>   Example: Cohen states that enumerated types are guaranteed to have a
>   representation that numbers the first element as zero, and increases
>   sequentially.  Is this not really guaranteed?

It is guaranteed. ARM 13.4 says, "For nonboolean enumeration types, if the 
coding is not specified for the type, then for each value of the type, the 
internal code shall be equal to its position number."

ARM 3.5.1 says, "The position number of the value of the first listed 
enumeration literal is zero; the position number of the value of each subsequent 
enumeration literal is one more than that of its predecessor in the list."

So, this representation is specified by the language. Therefore, 13.1 doesn't 
apply to enumeration types. For record types, ARM 13.5.1 says, "If no 
component_clause is given for a component, then the choice of the storage place 
for the component is left to the implementation. If component_clauses are given 
for all components, the record_representation_clause completely specifies the 
representation of the type and will be obeyed exactly by the implementation." 
Therefore, 13.1 does apply to record types.

> What's disappointing is that rep specs add considerable clutter.
> Readable code avoids redundancy, so having default representation
> aspects that are guaranteed enable less noisey code.  I'm not looking
> forward to rep specing records bit for bit simply to enforce the same
> order of elements that's specified in the operation specs.

If you need a specific representation for a record, you must specify it. I would 
do this even if I knew the compiler would choose the same layout by default; 
anything less is simply asking for a subtle error later. You usually only need a 
specific representation for types used for interfacing.

-- 
Jeff Carter
"Now go away or I shall taunt you a second time."
Monty Python & the Holy Grail
07



  reply	other threads:[~2005-11-04  5:30 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-04  2:21 Default rep specs for record types - documented?? Anonymous Coward
2005-11-04  2:36 ` Steve
2005-11-04  4:11   ` Anonymous Coward
2005-11-04  5:30     ` Jeffrey R. Carter [this message]
2005-11-05  3:13       ` Steve
2005-11-05  4:45         ` Jeffrey R. Carter
2005-11-06 14:05           ` Steve
2005-11-06 16:08             ` Anonymous Coward
2005-11-07  7:25             ` Jeffrey R. Carter
2005-11-08 13:36               ` Steve
2005-11-14  1:12             ` Robert A Duff
2005-11-14  3:03               ` Anonymous Coward
2005-11-14 18:08                 ` Jeffrey R. Carter
2005-11-14 18:49                 ` Robert A Duff
2005-11-15  1:16                   ` ADA compilers can reject types arbitrarily? Anonymous Coward
2005-11-15  2:10                     ` tmoran
2005-11-15  3:12                     ` Robert A Duff
2005-11-15  6:44                     ` Simon Wright
2005-11-16  0:16                       ` Adaists Deny Acronym. (was: ADA compilers can reject types arbitrarily?) Björn Persson
2005-11-16  5:38                         ` Adaists Deny Acronym Simon Wright
2005-11-16  6:16                         ` Adaists Deny Acronym. (was: ADA compilers can reject types arbitrarily?) Samuel Tardieu
2005-11-15 12:43                     ` ADA compilers can reject types arbitrarily? Jeff Creem
2005-11-14 21:14                 ` Default rep specs for record types - documented?? Simon Wright
2005-11-04 13:26     ` Stephen Leake
2005-11-04 14:33       ` Marc A. Criley
2005-11-04 18:35         ` Georg Bauhaus
2005-11-04 20:07           ` Britt Snodgrass
2005-11-04 14:39       ` Stephen Leake
2005-11-04 15:27         ` Britt Snodgrass
2005-11-04 15:55           ` Lauri Ora
2005-11-04 21:42             ` Larry Kilgallen
2005-11-05  2:26             ` Anonymous Coward
2005-11-05  2:42               ` Frank J. Lhota
2005-11-05  3:27               ` Ed Falis
2005-11-05  3:55                 ` Anonymous Coward
2005-11-05  4:07                 ` Lauri Ora
2005-11-05 13:46                   ` Ed Falis
2005-11-05 10:14                 ` Stephen Leake
2005-11-04 16:52         ` Frank J. Lhota
2005-11-04 16:57           ` Frank J. Lhota
2005-11-04 23:27           ` tmoran
2005-11-05 10:25           ` Stephen Leake
2005-11-14  1:09             ` Robert A Duff
2005-11-05  3:33       ` Anonymous Coward
2005-11-05 10:34         ` Stephen Leake
2005-11-05 16:35           ` ADA/C interfaces: type representations uncontrollable in C Anonymous Coward
2005-11-05 16:49             ` Ed Falis
2005-11-05 18:24             ` tmoran
2005-11-09  2:12           ` 'Size can mean value size OR object size, depending Anonymous Coward
2005-11-09  3:27             ` Jeffrey R. Carter
2005-11-09  4:04               ` Anonymous Coward
2005-11-05 14:27         ` Default rep specs for record types - documented?? Michael Bode
2005-11-05 16:17           ` pragma convention Anonymous Coward
2005-11-06  1:07             ` Jeffrey R. Carter
2005-11-06 22:22               ` Anonymous Coward
2005-11-07  7:34                 ` Jeffrey R. Carter
2005-11-05 14:39         ` Default rep specs for record types - documented?? Martin Krischik
2005-11-04  9:40   ` Martin Dowie
2005-11-04 14:36   ` Marc A. Criley
2005-11-04 17:45 ` Martin Krischik
replies disabled

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