view gcc/testsuite/c-c++-common/tm/safe-2.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-do compile } */
/* { dg-options "-fgnu-tm" } */

void mco(void) __attribute__((transaction_may_cancel_outer));

void
f(void)
{
  mco();			/* { dg-error "" } */
  __transaction_atomic {
    mco();			/* { dg-error "" } */
  }
  __transaction_relaxed {
    mco();			/* { dg-error "" } */
  }
  __transaction_atomic [[outer]] {
    mco();
  }
  __transaction_atomic [[outer]] {
    __transaction_atomic {
      __transaction_atomic {
	__transaction_atomic {
	  mco();
	}
      }
    }
  }
}

void __attribute__((transaction_may_cancel_outer))
g(void)
{
  mco();
  __transaction_atomic {
    __transaction_atomic {
      __transaction_atomic {
	__transaction_atomic {
	  mco();
	}
      }
    }
  }
}