This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ada and x86_64
- From: Andreas Jaeger <aj at suse dot de>
- To: dewar at gnat dot com (Robert Dewar)
- Cc: dje at watson dot ibm dot com, gcc at gcc dot gnu dot org, jh at suse dot cz
- Date: Wed, 28 Aug 2002 13:50:45 +0200
- Subject: Re: Ada and x86_64
- References: <20020828114904.9A814F2D79@nile.gnat.com>
dewar@gnat.com (Robert Dewar) writes:
>> > David Edelsohn <dje@watson.ibm.com> writes:
>> >
>> >> While knowing nothing about Ada,
>> >>
>> >> private
>> >> type sigset_t is array (0 .. 31) of unsigned_long;
>> >> pragma Convention (C, sigset_t);
>> >> for sigset_t'Size use 1024;
>> >
>> > unsigned_long is is 64 bit on x86-64, I think , so the minimum size
>> > for the array is indeed 2048 bits. You could change unsigned_long to
>> > unsigned_int; this should in 1024 bits on x86-64, too. However, I'm
>> > not sure if sigset_t really has this size on x86-64.
>>
>> The solution we come up with is to use array (0..15) to get 1024
>> bytes,
>
>
> This is only the correct solution if that matches the definition of sigset_t
> in C. There is nothing sacred out the size in the size clause. it must be
> modified to meet the requirement of matching the C definition.
it does indeed match the spec this way,
thanks,
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj