(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
tm/
safe-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-fgnu-tm" } */
       3  
       4  void mco(void) __attribute__((transaction_may_cancel_outer));
       5  
       6  void
       7  f(void)
       8  {
       9    mco();			/* { dg-error "" } */
      10    __transaction_atomic {
      11      mco();			/* { dg-error "" } */
      12    }
      13    __transaction_relaxed {
      14      mco();			/* { dg-error "" } */
      15    }
      16    __transaction_atomic [[outer]] {
      17      mco();
      18    }
      19    __transaction_atomic [[outer]] {
      20      __transaction_atomic {
      21        __transaction_atomic {
      22  	__transaction_atomic {
      23  	  mco();
      24  	}
      25        }
      26      }
      27    }
      28  }
      29  
      30  void __attribute__((transaction_may_cancel_outer))
      31  g(void)
      32  {
      33    mco();
      34    __transaction_atomic {
      35      __transaction_atomic {
      36        __transaction_atomic {
      37  	__transaction_atomic {
      38  	  mco();
      39  	}
      40        }
      41      }
      42    }
      43  }