On Thu, Dec 08, 2011 at 01:54:17PM +0100, Georg-Johann Lay wrote: The test should be using typedef __INT16_TYPE__ int16_t; typedef __INT32_TYPE__ int32_t; instead of what you are proposing.
> Index: gcc.c-torture/execute/20111208-1.c > =================================================================== > --- gcc.c-torture/execute/20111208-1.c (revision 182106) > +++ gcc.c-torture/execute/20111208-1.c (working copy) > @@ -10,8 +10,26 @@ extern void *memcpy (void *__restrict __ > extern size_t strlen (__const char *__s) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ > ((__nonnull__ (1))); > > +#if __SIZEOF_SHORT__ == 2 > typedef short int int16_t; > +#elif __SIZEOF_INT__ == 2 > +typedef int int16_t; > +#elif __SIZEOF_LONG__ == 2 > +typedef long int16_t; > +#else > +#error Fix this > +#endif > + > + > +#if __SIZEOF_INT__ == 4 > typedef int int32_t; > +#elif __SIZEOF_LONG__ == 4 > +typedef long int32_t; > +#elif __SIZEOF_SHORT__ == 4 > +typedef short int32_t; > +#else > +#error Fix this > +#endif > > extern void abort (void); Jakub