[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