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