Hi all, This is my first post to the list so do not be too harsh)
I have expected all c-torture tests to be highly portable but I have recently ran into test which relies on int being 32-bit (execute/980526-2.c). The test runs to_kdev_t(0x12345678) (see below) and verifies that result equals 0x15800078. But this is true only with 32-bit ints. With 64-bits we have 0x48d15800078. static inline kdev_t to_kdev_t(int dev) { int major, minor; if (sizeof(kdev_t) == 16) return (kdev_t)dev; major = (dev >> 8); minor = (dev & 0xff); return ((( major ) << 22 ) | ( minor )) ; } Shouldn't we modify a precondition in main: if (sizeof (int) < 4) exit (0); to be if (sizeof (int) != 4) exit (0); or better if( sizeof(int)*CHAR_BIT != 32 ) exit(0) ? Best regards, Yuri