mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-30 19:53:46 +00:00
22 lines
354 B
C
22 lines
354 B
C
// 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();
|
|
}
|