This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ada in gcc-3.4.3 on x86_64
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: "Dean Kolosiek" <kolosiekweb04 at qwest dot net>
- Cc: "Robert Dewar" <dewar at adacore dot com>, gcc at gcc dot gnu dot org
- Date: Wed, 05 Jan 2005 10:45:42 +0100
- Subject: Re: Ada in gcc-3.4.3 on x86_64
- References: <6.1.2.0.0.20050105011154.03606230@pop.phnx.qwest.net>
* Dean Kolosiek:
>>That would be unnecessary overhead to achieve something that is not supported
>>in any case.
>
> Speed does not have precedence over correctness.
As explained, GCC is already correct. Most binding authors already
write wrappers around variadic functions, I think. This change would
have very little effect as a result.
Furthermore, as Robert said, to implement this correctly for all
targets is non-trivial. I really don't see why AMD64 should get a
special treatment here. Of course, for many programmers it's the
first time in years they see a non-x86 architecture, but this isn't
GCC's fault, really.
>>> So, the LRM is saying that the proper approach is to use overloaded
>>> Ada subprograms to call variadic C routines.
>>
>>It is not saying that at all!
>
> No. Get a dictionary. "Can" denotes ability. The word you defined is
> "may".
Dictionary definitions are not relevant. The ARM is written in
standardese, not English.
> The note is not a suggestion, it is a statement of fact.
But we disagree on the fact that it states.
You can't read this note in isolation. It's clear from the rest of
appendix B that an implementation may impose arbitrary restrictions on
pragma Import. GCC does not support importing variadic C functions.