aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr108264.c
blob: ff9aa261d67299ce88d5d60a92ed238174f99d40 (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
26
27
/* PR middle-end/108264 */
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-additional-options "-fpic" { target fpic } } */

int v;
extern int bar (void);

static inline void
foo (char *d)
{
  switch (bar ())
    {
    case 2:
      d[0] = d[1] = d[2] = d[3] = v;
      break;
    case 4:
      d[0] = 0;
    }
}

int
baz (int x)
{
  foo ((char *) &x);
  return x;
}