diff options
author | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-11-25 14:20:43 +0100 |
---|---|---|
committer | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-11-25 14:26:11 +0100 |
commit | cf54c81ecd07c5ad0cdd81e6b2473faff2141b2e (patch) | |
tree | e5533471bb27e7182f836fa0df5a5c67a9ff111f /gcc/testsuite/gcc.dg/ipa/ipa-structreorg-31-heterogenous-struct-0.c | |
parent | cacc6dfafad4d5ec8e440be9440abe19f2da5c10 (diff) |
Add tests
Diffstat (limited to 'gcc/testsuite/gcc.dg/ipa/ipa-structreorg-31-heterogenous-struct-0.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/ipa/ipa-structreorg-31-heterogenous-struct-0.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-31-heterogenous-struct-0.c b/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-31-heterogenous-struct-0.c new file mode 100644 index 00000000000..b1f6e9a5166 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-31-heterogenous-struct-0.c @@ -0,0 +1,30 @@ +/* { dg-do run } */ +/* { dg-options "-flto -fipa-type-escape-analysis -fdump-ipa-type-escape-analysis -Wno-dfa -fipa-dlo-tests" } */ + +#include <assert.h> +#include <stdio.h> +#include <stddef.h> + +int +main () +{ + // unmodified a = 0, d = 5; e = 6; f = 7; b = 8; c = 9 + // modified a = 0, d = 1, e = 2, f = 3, c = 4; + struct astruct_s + { + _Bool a; + _Bool d; + _Bool e; + _Bool f; + _Bool b; + int c; + }; + struct astruct_s astruct; + struct astruct_s *p = &astruct; + printf ("%d %d %d %d %d\n", p->a, p->d, p->e, p->f, p->c); + _Bool *a = &(p->a); + int *c = &(p->c); + ptrdiff_t d = (_Bool *) c - a; + printf ("%d\n", d); + assert (d == 4); +} |