summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-56-csmith-5.c
blob: b016a3b8ea186a8765a053fa3d5c68d37a086bb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* { dg-do run } */
/* { dg-options  "-w -flto -fipa-type-escape-analysis -fdump-ipa-type-escape-analysis " } */

#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 () {}