summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-56-csmith-5.c
blob: 27da3daa29dd4eefdcf38afd2f10056e74c11459 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* { dg-do run } */
/* { dg-options  "-w -flto -flto-partition=none -fipa-dead-field-eliminate" } */

#include <stdint.h>
struct a {
	  int8_t b
};
struct c {
	  struct a d
} e[];

/* Analysis failed because e[2].d was considered not read
 * we were only looking at e[2].d.b which is considered read.
 * So we need to recurse
 */
f() { g(e[2].d.b, 0); }

void g(int8_t a, int8_t b) {  a + b ;}
main() {}