view libitm/testsuite/libitm.c++/eh-4.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

// Test that throwing out of an atomic_commit block commits the transaction.

// { dg-do run }
// { dg-options "-fgnu-tm" }

int main()
{
  static int i;
  bool caught = false;
  try {
    atomic_commit {
      i = 12;
      throw 42;
      i = 24;
    }
  } catch (int x) {
    caught = (x == 42);
  }
  if (!caught || i != 12)
    __builtin_abort();
}