aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr87197.c
blob: 4c702242cfaa68a5753fbcaeddb7130aa34598bc (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
28
29
30
31
32
33
34
35
/* { dg-do compile } */

int a, c, e, f, g;
void
h (int i)
{
  a = i;
}
void
j (char *i, long k)
{
  while (k--)
    c = *i++;
}
void
l (unsigned char *i, long k)
{
  unsigned char *b = i + k;
  while (i < b)
    {
      h (*i);
      i++;
    }
}
void
m ()
{
  while (e)
    {
      float d = g;
      l ((char *) &d, sizeof (g));
      if (f)
	j ((char *) &d, sizeof (g));
    }
}