| /* { dg-do compile } */ | |
| /* { dg-options "-fstrub=strict -fdump-ipa-strub" } */ | |
| /* { dg-require-effective-target strub } */ | |
| /* Check that, along with a strub pure function call, we issue an asm statement | |
| to make sure the watermark passed to it is not assumed to be unchanged. */ | |
| int __attribute__ ((__strub__, __pure__)) | |
| f() { | |
| static int i; /* Stop it from being detected as const. */ | |
| return i; | |
| } | |
| int | |
| g() { | |
| return f(); | |
| } | |
| /* { dg-final { scan-ipa-dump-times "__asm__" 1 "strub" } } */ |