diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/builtin-self.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-self.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/builtin-self.c b/gcc/testsuite/gcc.dg/torture/builtin-self.c new file mode 100644 index 00000000000..6d1719f7517 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/builtin-self.c @@ -0,0 +1,10 @@ +/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +/* 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" } } */ |