+++ /dev/null
-// 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)()) { }
-}
+++ /dev/null
-// 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 (...) { }
-}
+++ /dev/null
-// 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();
-}
--- /dev/null
+// 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)()) { }
+}
--- /dev/null
+// 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 (...) { }
+}
--- /dev/null
+// 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();
+}