| /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ | |
| /* { dg-additional-options "-fno-PIE" { target ia32 } } */ | |
| /* Check that we can use this idiom to define out-of-line copies of built-in | |
| functions. This is used by libgcc/sync.c, for example. */ | |
| void __sync_synchronize (void) | |
| { | |
| __sync_synchronize (); | |
| } | |
| /* { dg-final { scan-assembler "__sync_synchronize" } } */ | |
| /* { dg-final { scan-assembler "\t(lock|mfence)" } } */ | |
| /* { dg-final { scan-assembler-not "\tcall" } } */ |