diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-11-09 11:37:58 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-11-09 11:37:58 +0100 |
commit | cecc039fbb4ffdb0e5185fdd7f8f87c3eec68832 (patch) | |
tree | cbc9119f8c290cb8f5240e432eec8539a42b6373 | |
parent | 79f1313608b468fd6a0f329d2e265fa67bba7cc1 (diff) | |
download | gcc-cecc039fbb4ffdb0e5185fdd7f8f87c3eec68832.zip gcc-cecc039fbb4ffdb0e5185fdd7f8f87c3eec68832.tar.gz gcc-cecc039fbb4ffdb0e5185fdd7f8f87c3eec68832.tar.bz2 |
testsuite: Fix up pr107541.c test
The test fails when long is 32-bit rather than 64-bit (say x86_64 with
RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} tree-ssa.exp=pr107541.c'
).
I've tweaked it to use long long so it passes even on the 32-bit
targets, and added an early out for weirdo targets because I think
the test assumes the usual 1/2/4/8 bytes sizes for char/short/int/long long.
2022-11-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/107541
* gcc.dg/tree-ssa/pr107541.c (c): Use long long type rather than long.
(main): Punt if sizeof short isn't 2, or int 4, or long long 8.
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr107541.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c b/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c index 4751421..9c89db5 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c @@ -3,9 +3,11 @@ unsigned char a = 1; char b, e; -long c; +long long c; short d; int main() { + if (sizeof (short) != 2 || sizeof (int) != 4 || sizeof (long long) != 8) + return 0; a = ~(1 && a); c = ~((~a / 8 | -2) & 11007578330939886389LLU); e = -c; |