summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-7.c
blob: 792dfb028af24bee29e443f9229315664f3a0867 (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
/* { dg-do link } */
/* { dg-options "-O -fdump-tree-optimized" } */

extern void link_error (void);
void foo(int n)
{
  int * f = (int*) __builtin_malloc (n * sizeof (int));
  int * ff = (int*) __builtin_malloc (n * sizeof (int));
  int i;

  for (i = 0; i < n; ++i)
    {
      f[i] = 1;
      ff[i] = 2;
      if (f[i] != 1)
	link_error ();
      if (ff[i] != 2)
	link_error ();
    }

  __builtin_free (f);
  __builtin_free (ff);
}
int main()
{
  return 0;
}

/* We should have removed the calls to link_error () and all stores
   to the allocated memory.  */

/* { dg-final { scan-tree-dump-times "\\\*D" 0 "optimized" } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */