comp.lang.ada
 help / color / mirror / Atom feed
From: "Martin Krischik" <krischik@users.sourceforge.net>
Subject: Re: Default rep specs for record types - documented??
Date: Sat, 05 Nov 2005 16:39:21 +0200
Date: 2005-11-05T16:39:21+02:00	[thread overview]
Message-ID: <op.szruzvihz25lew@super> (raw)
In-Reply-To: slrndmoh1u.b6j.bogus_addy@tango.mindfuq.org

Am 05.11.2005, 05:33 Uhr, schrieb Anonymous Coward  
<bogus_addy@bogus_domain.net>:

> Perhaps, but for interfacing with C operations (which is my case), I
> would prefer to simply write "pragma convention (C, my_record)" and be
> able to expect the compiler to base the representational spec purely
> off the operational spec, just as the C compiler would for a structure
> that only has an operational spec.

Well, it should actualy work - unless you use an incompatible C compiler.  
You see: pragma convention (C... will only work with the appropiate sister  
C compiler. In case of GNAT it is the gcc.

Problem is that most C compiler will unpack records in order to speed up  
access to the data. That is so ever since we moved from 8 bit CPUs to  
16bit CPUs and accessing an even address became faster then accessing an  
odd address. On 32 bit CPUs data might even be unpacked to addresses which  
can be devided by 4. or 8 on 64 bit CPUs.

Or not at all since modern MMU (Memeory Management Units) and multiple  
cache buffer might make accessing an odd address just as fast then an even  
address reverting the hole trent again.

It's all a big maybe. And you might even get that trouble when you are  
using 2 diffrent C compilers. Like a 3rd party lib compiled with C  
compiler 1 optimizing for i386 and you use C compiler 2 optimizing for  
x86_64.

Most C compilers have "#pragma pack (...)" to solve the mess. And Ada has  
"for Record_Type'Alignment use ...;"

Martin



  parent reply	other threads:[~2005-11-05 14:39 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
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         ` Martin Krischik [this message]
2005-11-04  9:40   ` Default rep specs for record types - documented?? 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