summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/ia64/20010423-1.c
blob: 4cec79370de1b4e9079b460586c1a486084c9561 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* { dg-do compile } */
/* { dg-options "-O2" } */

int __sync_fetch_and_add_si (int *, int);

inline unsigned int
bar (volatile unsigned int *mem, unsigned int val)
{
  return __sync_fetch_and_add_si((int *)mem, (int)val);
}

volatile unsigned int x;

void foo (unsigned short *a)
{
  *a = bar (&x, 1) + 1;
}