blob: 68275e99706d5d0add7fce575fdbb1b9449f55ab [file] [log] [blame]
// 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();
}