Ada and x86_64

Robert Dewar dewar@gnat.com
Wed Aug 28 04:47:00 GMT 2002


> > 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 whole point of these declarations is to match the C definition for 
sigset_t, and these declarations must be tailored to meet this requirement.



More information about the Gcc mailing list