This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Go in gcc 4.7
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: dclarke at blastwave dot org
- Cc: Andreas Schwab <schwab at linux-m68k dot org>, Ian Lance Taylor <iant at google dot com>, Joel Sherrill <joel dot sherrill at oarcorp dot com>, Rainer Orth <ro at cebitec dot uni-bielefeld dot de>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, "gofrontend-dev at googlegroups dot com" <gofrontend-dev at googlegroups dot com>
- Date: Fri, 13 Jan 2012 15:38:57 +0000
- Subject: Re: Go in gcc 4.7
- References: <44252.10.0.66.17.1326455486.squirrel@interact.purplecow.org>
On 13 January 2012 11:51, Dennis Clarke wrote:
>
>> Dennis Clarke <dclarke@blastwave.org> writes:
>>
>>> ? ? ?for (argno = 0; argno < argc; argno++) {
>>> ? ? ? ? ? ? ?if (argno < 6)
>>> ? ? ? ? ? ? ? ? ? ? ?*tsp++ = reg[REG_O0 + argno] = va_arg(ap, long);
>>> ? ? ? ? ? ? ?else
>>> ? ? ? ? ? ? ? ? ? ? ?*tsp++ = va_arg(ap, long);
>>
>> This is broken. ?The arguments are of type int, not long.
>
> To be more compliant with IEEE Std 1003.1-2001 ( ISO/IEC 9899:1999
> standard, Section 6.2.5 ) they should be int32_t or similar as
> per stdint.h.
http://pubs.opengroup.org/onlinepubs/009695399/functions/makecontext.html
says the arguments are type int.