view libitm/testsuite/libitm.c++/eh-4.C @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +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();
}