aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/tree-ssa/alias-23.c
blob: 9d0dd32061f16a4ef248a9030b1a3d2ae99136b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */

typedef struct A { int i; double d; } A;

void f1 (const char *c)
{
  A *s = (A*) __builtin_malloc (sizeof (A));
  double *p = &s->d;
  s->i = 42;
  __builtin_memcpy (p, c, sizeof (double));
  int j = s->i;
  if (j != 42) __builtin_abort();
}

/* { dg-final { scan-tree-dump-not "abort" "optimized" } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */