[ia64-abi] Issue reminder
Jim Dehnert
dehnert at baalbek.engr.sgi.com
Thu Mar 16 23:27:30 UTC 2000
> From austern at isolde Thu Mar 16 12:44:44 2000
>
> Cary Coutant writes:
>
> > >Issue ??: Types
> > > I sent a note a couple of days ago. We must decide whether
> > > __int64 and __float80 are distinct types, or typedefs of long
> > > long and long double. As Martin pointed out, we should also
> > > specify bindings of the sized types defined by C2000.
> >
> > I thought you noted that this was just a C++ issue. Do we need to answer
> > this at the base ABI level?
>
> Yes. This is mostly a C++ issue, but it also matters for C.
>
> First of all, consider the following C code:
> void f(__int64);
> void f(long n) {}
> This is valid if __int64 is a typedef for long, otherwise it's
> an error.
So again, I propose that we treat:
__int64 as a synonym for long long
signed __int64 as a synonym for signed long long
unsigned __int64 as a synonym for unsigned long long
__float80 as a synonym for long double
But, I don't know whether we can do that, in the sense of whether we
can treat __int64 as a typedef AND then use signed/unsigned prefixes.
Does anyone know the rules?
> Second, C99 specifies a whole lot of typedefs and macros for integer
> types. inttypes.h is a C header, and it's important for everyone to
> agree on its contents.
To be more specific, for those anxious to dive in and do the work,
take a look at C2000 section 7.18: Integer types (stdint.h).
Jim
- Jim Dehnert dehnert at sgi.com
(650)933-4272
More information about the cxx-abi-dev
mailing list