bswap-2.c: Add alignment constraints to bitfield and test wrong results instead of correct...
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. From-SVN: r211313
This commit is contained in:
parent
506ac72b86
commit
4ed6899575
@ -1,3 +1,9 @@
|
||||
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
|
||||
|
@ -6,8 +6,11 @@ typedef __UINT32_TYPE__ unsigned;
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
@ -74,11 +77,17 @@ main ()
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user