1 /* { dg-do compile } */ 2 /* { dg-options "-fgnu-tm -O -fdump-tree-tmmemopt" } */ 3 4 long g, xxx, yyy; 5 extern george() __attribute__((transaction_safe)); 6 extern ringo(long int) __attribute__((transaction_safe)); 7 int i; 8 f()9f() 10 { 11 __transaction_relaxed { 12 g = 666; 13 george(); 14 if (i == 9) 15 goto bye; 16 xxx=8; 17 yyy=9; 18 for (i=0; i < 10; ++i) 19 ringo(g); 20 bye: 21 ringo(g); 22 } 23 } 24 25 /* { dg-final { scan-tree-dump-times "transforming: .*_ITM_RaWU\[248\] \\(&g\\);" 1 "tmmemopt" } } */ 26 /* { dg-final { scan-tree-dump-times "transforming: .*_ITM_WaRU4 \\(&i," 1 "tmmemopt" } } */ 27 /* { dg-final { scan-tree-dump-times "transforming: .*_ITM_RaWU4 \\(&i\\);" 1 "tmmemopt" } } */ 28 /* { dg-final { scan-tree-dump-times "transforming: .*_ITM_WaWU4 \\(&i," 1 "tmmemopt" } } */ 29 /* { dg-final { cleanup-tree-dump "tmmemopt" } } */ 30