aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2022-07-08 18:12:26 +0200
committerMartin Jambor <mjambor@suse.cz>2022-07-08 18:13:31 +0200
commitb984b84cbe4bf026edef2ba37685f3958a1dc1cf (patch)
tree20223d6b77796b686617c17feb3cdb94dec75ab4 /gcc
parent2bd15617e73acf76207127e5580cd10b1fab91a5 (diff)
downloadgcc-b984b84cbe4bf026edef2ba37685f3958a1dc1cf.zip
gcc-b984b84cbe4bf026edef2ba37685f3958a1dc1cf.tar.gz
gcc-b984b84cbe4bf026edef2ba37685f3958a1dc1cf.tar.bz2
testsuite: Fix tree-ssa/alias-access-path-13.c on 32bit platforms (PR 106216)
For gcc.dg/tree-ssa/alias-access-path-13.c to work, SRA must think of accesses to foo.inn.val and to foo itself as different ones, i.e. they need to have different offset and size, which on 32bit platforms they do not. Fixed by replacing a dummy long int field of the union with a struct of two integers. Tested by: make -k check-gcc RUNTESTFLAGS="tree-ssa.exp=alias-access-path-13.c" and make -k check-gcc RUNTESTFLAGS="--target_board=unix'{-m32}' tree-ssa.exp=alias-access-path-13.c" on an x86_64-linux, also with patched SRA to verify it still tests the original intent. gcc/testsuite/ChangeLog: 2022-07-08 Martin Jambor <mjambor@suse.cz> PR testsuite/106216 * gcc.dg/tree-ssa/alias-access-path-13.c (union foo): Replace a long int field with a struct that is larger than an int also on 32bit platforms.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c b/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c
index e502a97..87a94f5 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c
@@ -6,10 +6,15 @@ struct inn
int val;
};
+struct biggerstruct
+{
+ int a, b;
+};
+
union foo
{
struct inn inn;
- long int baz;
+ struct biggerstruct baz;
} *fooptr;
struct bar