+2014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * gcc.c-torture/execute/bswap-2.c: Add alignment constraints to
+ bitfield and test wrong results instead of correct results to make the
+ test more portable.
+
2014-06-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60432
struct bitfield {
unsigned char f0:7;
+ unsigned char :1;
unsigned char f1:7;
+ unsigned char :1;
unsigned char f2:7;
+ unsigned char :1;
unsigned char f3:7;
};
return 0;
bfin.inval = (struct ok) { 0x83, 0x85, 0x87, 0x89 };
out = partial_read_le32 (bfin);
- if (out != 0x09070503 && out != 0x88868482 && out != 0x78306141)
+ /* Test what bswap would do if its check are not strict enough instead of
+ what is the expected result as there is too many possible results with
+ bitfields. */
+ if (out == 0x89878583)
__builtin_abort ();
bfin.inval = (struct ok) { 0x83, 0x85, 0x87, 0x89 };
out = partial_read_be32 (bfin);
- if (out != 0x03050709 && out != 0x82848688 && out != 0x41613078)
+ /* Test what bswap would do if its check are not strict enough instead of
+ what is the expected result as there is too many possible results with
+ bitfields. */
+ if (out == 0x83858789)
__builtin_abort ();
out = fake_read_le32 (cin, &cin[2]);
if (out != 0x89018583)