comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Allocators design flaw
Date: Sat, 14 Oct 2017 17:51:47 +0200
Date: 2017-10-14T17:51:47+02:00	[thread overview]
Message-ID: <ortbqj$1rgf$1@gioia.aioe.org> (raw)
In-Reply-To: ort9t0$1oaf$2@gioia.aioe.org

On 2017-10-14 17:17, Victor Porton wrote:
> Dmitry A. Kazakov wrote:
> 
>> On 2017-10-14 16:24, Victor Porton wrote:
>>
>>> I mean, it is because we cannot change C standard for better
>>> compatibility with Ada. But we can change Ada 202x for better
>>> compatibility with C libraries.
>>
>> There is nothing incompatible in what you described.
>>
>> There are many C libraries (most?) which cannot deal with objects
>> allocated outside, e.g. in an Ada pool. There was never a big problem to
>> communicate with such libraries.
> 
> I want to create an Ada pool which does the same (de)allocation as a C
> library.
> 
> The problem is that creating such a pool is (seemingly) impossible with
> current Ada RM.

It is possible as I explained. You allocate additional information in 
front of the object and shift address. Upon deallocation you use that 
information to shift the address back before passing it to C's free. The 
same technique is used when handling Ada's array address issue in Simple 
Components.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2017-10-14 15:51 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 [this message]
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
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