diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/tm/irrevocable-2.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/tm/irrevocable-2.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tm/irrevocable-2.c b/gcc/testsuite/gcc.dg/tm/irrevocable-2.c new file mode 100644 index 00000000000..17ac8a5f0c0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tm/irrevocable-2.c @@ -0,0 +1,21 @@ +/* { dg-do compile } */ +/* { dg-options "-fgnu-tm -fdump-tree-tmedge" } */ + +/* Test that a direct call to __builtin__ITM_changeTransactionMode() + sets the irrevocable bit. */ + +int global; +int george; + +foo() +{ + __transaction_relaxed { + global++; + __builtin__ITM_changeTransactionMode (0); + george++; + } +} + +/* { dg-final { scan-tree-dump-times "doesGoIrrevocable" 1 "tmedge" } } */ +/* { dg-final { scan-tree-dump-times "hasNoIrrevocable" 0 "tmedge" } } */ +/* { dg-final { cleanup-tree-dump "tmedge" } } */ |