aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/torture/strub-pure3.c
blob: 00bcbdd097af892b5d17776607fdab5eac797ec1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* { dg-do compile } */
/* { dg-options "-fstrub=strict -fdump-ipa-strub" } */
/* { dg-require-effective-target strub } */

/* Check that, along with a strub pure wrapping call, we issue an asm statement
   to make sure the watermark passed to it is not assumed to be unchanged.  */

int __attribute__ ((__strub__ ("internal"), __pure__))
f() {
  static int i; /* Stop it from being detected as const.  */
  return i;
}

/* { dg-final { scan-ipa-dump-times "__asm__" 1 "strub" } } */