From: Jason Merrill Date: Mon, 5 Oct 2015 15:21:15 +0000 (-0400) Subject: Move runtime transactional memory tests to libitm testsute. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=66c69a82f4fcad5d43d25358e6bc35f066946940;p=gcc.git Move runtime transactional memory tests to libitm testsute. From-SVN: r228489 --- diff --git a/gcc/testsuite/g++.dg/tm/eh1.C b/gcc/testsuite/g++.dg/tm/eh1.C deleted file mode 100644 index 156121142e7..00000000000 --- a/gcc/testsuite/g++.dg/tm/eh1.C +++ /dev/null @@ -1,10 +0,0 @@ -// A handler can involve a transaction-safety conversion. -// { dg-do run } -// { dg-options "-fgnu-tm" } - -void g() transaction_safe {} -int main() -{ - try { throw g; } - catch (void (*p)()) { } -} diff --git a/gcc/testsuite/g++.dg/tm/eh2.C b/gcc/testsuite/g++.dg/tm/eh2.C deleted file mode 100644 index 307a63924c3..00000000000 --- a/gcc/testsuite/g++.dg/tm/eh2.C +++ /dev/null @@ -1,14 +0,0 @@ -// A handler cannot do the reverse of a transaction-safety conversion. -// { dg-do run } -// { dg-options "-fgnu-tm" } - -extern "C" void abort(); - -void g() {} - -int main() -{ - try { throw g; } - catch (void (*p)() transaction_safe) { abort(); } - catch (...) { } -} diff --git a/gcc/testsuite/g++.dg/tm/eh4.C b/gcc/testsuite/g++.dg/tm/eh4.C deleted file mode 100644 index 68275e99706..00000000000 --- a/gcc/testsuite/g++.dg/tm/eh4.C +++ /dev/null @@ -1,21 +0,0 @@ -// 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(); -} diff --git a/libitm/testsuite/libitm.c++/eh-2.C b/libitm/testsuite/libitm.c++/eh-2.C new file mode 100644 index 00000000000..156121142e7 --- /dev/null +++ b/libitm/testsuite/libitm.c++/eh-2.C @@ -0,0 +1,10 @@ +// A handler can involve a transaction-safety conversion. +// { dg-do run } +// { dg-options "-fgnu-tm" } + +void g() transaction_safe {} +int main() +{ + try { throw g; } + catch (void (*p)()) { } +} diff --git a/libitm/testsuite/libitm.c++/eh-3.C b/libitm/testsuite/libitm.c++/eh-3.C new file mode 100644 index 00000000000..307a63924c3 --- /dev/null +++ b/libitm/testsuite/libitm.c++/eh-3.C @@ -0,0 +1,14 @@ +// A handler cannot do the reverse of a transaction-safety conversion. +// { dg-do run } +// { dg-options "-fgnu-tm" } + +extern "C" void abort(); + +void g() {} + +int main() +{ + try { throw g; } + catch (void (*p)() transaction_safe) { abort(); } + catch (...) { } +} diff --git a/libitm/testsuite/libitm.c++/eh-4.C b/libitm/testsuite/libitm.c++/eh-4.C new file mode 100644 index 00000000000..68275e99706 --- /dev/null +++ b/libitm/testsuite/libitm.c++/eh-4.C @@ -0,0 +1,21 @@ +// 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(); +}