On Mon, Nov 23, 2015 at 12:45 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
>> No, Interfaces.C.Extensions is non portable, so almost no Ada code out there
>> is using it. As I said, existing Ada code is using System.Address all the
>> time, so requiring any code change in this area is just a non starter. We'd
>> rather require that people don't use LTO with Ada rather than tell them to
>> use Interfaces.C.Extensions, that would be more constructive :-)
>
> I see, too bad that Interfaces.C doesn't define something along these lines.
>
> In practice I'm not sure it's a big issue, because presumably it's essentially
> used to interface the C library and AFAIK we don't LTO the C library (yet).
> And I presume that, if people start interfacing in Ada with C code doing heavy
> pointer manipulation, we can also point them to Interfaces.C.Pointers. :-)

But can't you on the GENERIC side drop System.Address to void_ptr_node
again and just not make use of the "heavy lifting" you were talking about?
That is, why is that speciality of System.Address not a Ada FE thing only?

Richard.

> --
> Eric Botcazou

Reply via email to