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