comp.lang.ada
 help / color / mirror / Atom feed
From: Victor Porton <porton@narod.ru>
Subject: Re: Allocators design flaw
Date: Sat, 14 Oct 2017 19:22:26 +0300
Date: 2017-10-14T19:22:26+03:00	[thread overview]
Message-ID: <ortdkb$1umf$1@gioia.aioe.org> (raw)
In-Reply-To: lyh8v1bu5n.fsf@pushface.org

Simon Wright wrote:

> Victor Porton <porton@narod.ru> writes:
> 
>> Simon Wright wrote:
>>
>>> Victor Porton <porton@narod.ru> writes:
>>> 
>>>>> If the C struct needs alignment greater than that of the elements of
>>>>> which it is composed (see the AI for example) it would have it.
>>>>
>>>> "it would have it"? What this sequence of English words mean?
>>> 
>>> it would have such an alignment
>>> 
>>>   struct chrs {
>>>     char c[10];
>>>   }
>>> 
>>> only *needs* alignment of 1
>>> 
>>>   struct chrs {
>>>     int last;
>>>     char c[256];
>>>   }
>>
>> No, all C structs share the same alignment.
> 
> I agree that malloc() will always allocate aligned on some boundary
> (16-byte? 32-byte?) but that's not the same as the alignment of the
> struct itself.
> 
> See e.g.
> 
https://en.wikipedia.org/wiki/Data_structure_alignment#Typical_alignment_of_C_structs_on_x86

I want my program to work well with every conformant Ada compiler, not just 
"typically" as you propose.

>>> needs the alignment of int (4 on this Mac)
>>> 
>>> (aploogies if the C isn't correct)
-- 
Victor Porton - http://portonvictor.org


  reply	other threads:[~2017-10-14 16:22 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-14  2:53 Allocators design flaw Victor Porton
2017-10-14  7:27 ` Dmitry A. Kazakov
2017-10-14 13:52   ` Victor Porton
2017-10-14 14:25     ` Dmitry A. Kazakov
2017-10-14 14:03   ` Victor Porton
2017-10-14 14:26     ` Dmitry A. Kazakov
2017-10-14 15:18       ` Victor Porton
2017-10-14 15:44         ` Dmitry A. Kazakov
2017-10-14 16:42           ` Victor Porton
2017-10-14 16:13     ` Simon Wright
2017-10-14 16:38       ` Victor Porton
2017-10-14 14:12   ` Victor Porton
2017-10-14 14:20     ` Victor Porton
2017-10-14 14:24       ` Victor Porton
2017-10-14 14:36         ` Dmitry A. Kazakov
2017-10-14 15:17           ` Victor Porton
2017-10-14 15:51             ` Dmitry A. Kazakov
2017-10-14 16:34               ` Victor Porton
2017-10-14 17:14                 ` Dmitry A. Kazakov
2017-10-14 17:24                   ` Victor Porton
2017-10-14 18:08                     ` Dmitry A. Kazakov
2017-10-14 14:28     ` Dmitry A. Kazakov
2017-10-14 15:14       ` Victor Porton
2017-10-14 15:42         ` Simon Wright
2017-10-14 16:29           ` Victor Porton
2017-10-14 20:07             ` Simon Wright
2017-10-14 21:26               ` Victor Porton
2017-10-21  1:42     ` Randy Brukardt
2017-10-14  8:02 ` Simon Wright
2017-10-14 13:59   ` Victor Porton
2017-10-14 14:35     ` Simon Wright
2017-10-14 15:11       ` Victor Porton
2017-10-14 15:56         ` Simon Wright
2017-10-14 16:22           ` Victor Porton [this message]
2017-10-29 16:01           ` David Thompson
2017-10-14 14:11 ` Victor Porton
replies disabled

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