summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr41841.c
blob: 595bc759207ca4e22d933f6150ba98d581447da6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* PR tree-optimization/41841 */
/* { dg-do compile } */
/* { dg-options "-O -fipa-struct-reorg -fwhole-program -fipa-cp" } */

typedef struct S *T;
typedef struct { } *U;
extern int f1 (void);

static void
f3 (U x, int y)
{
  T a = (T) x;
  y && f1 ();
}

static void
f2 (T x)
{
  f3 ((U) x, 1);
}

void *volatile a __attribute__((used)) = f2;