blob: 386200c2784a4c3c5c5be29eb6f3093534e18325 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/* { dg-do compile } */
/* { dg-options "-fstrub=strict -fdump-ipa-strub" } */
/* { dg-require-effective-target strub } */
/* Check that, along with a strub const wrapping call, we issue an asm statement
to make sure the watermark passed to it is held in memory before the call,
and another to make sure it is not assumed to be unchanged. */
extern int __attribute__ ((__strub__ ("callable"),
__const__, __nothrow__)) c ();
int __attribute__ ((__strub__ ("internal"), __const__))
f () {
return c ();
}
/* { dg-final { scan-ipa-dump-times "__asm__" 2 "strub" } } */
|