This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [ada] rts support for alpha-linux
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 18 Jan 2005 21:40:18 +0100
- Subject: Re: [ada] rts support for alpha-linux
- References: <20050118201052.GA8131@twiddle.net>
* Richard Henderson:
> Ada maintainers: I think my versions of sigset_t and other pthreads
> structures is more correct than in the existing s-osinte-linux.ads.
> Of primary concern is the alignment of the structures; using char
> for allocating dummy space when the real structure is aligned a-la
> unsigned long is surely a bug. Of secondary concern, I have no idea
> what "pragma Convention (C, foo)" does when Ada declares an array
> and the real C type is a structure. It does seem inconsistent though.
As a compiler implementer, you have additional freedom. 8-) The array
construct isn't too bad, IMHO. You can specify the alignment
explicitly using:
for sigset_t'Alignment use 8;
This is used in other parts of the run-time, too, and it is a rather
useful construct when generating bindings to opaque C types in a
semi-automatic way (you only need the sizeof and __alignof__ values).