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