aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2025-01-29 10:37:50 -0500
committerMarek Polacek <polacek@redhat.com>2025-01-29 10:38:35 -0500
commit2a77afa0ee41cb8a3664679dcd4545ccd1aa3b35 (patch)
tree03eae5eea685ca8cf66e4ee11f572c376139f7e0
parentd4d4e874dee2d5b0abe5ceb9f2a78e5602e86030 (diff)
downloadgcc-2a77afa0ee41cb8a3664679dcd4545ccd1aa3b35.zip
gcc-2a77afa0ee41cb8a3664679dcd4545ccd1aa3b35.tar.gz
gcc-2a77afa0ee41cb8a3664679dcd4545ccd1aa3b35.tar.bz2
c++: add fixed test [PR57533]
Fixed by r11-2412. PR c++/57533 gcc/testsuite/ChangeLog: * g++.dg/eh/throw5.C: New test.
-rw-r--r--gcc/testsuite/g++.dg/eh/throw5.C23
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/eh/throw5.C b/gcc/testsuite/g++.dg/eh/throw5.C
new file mode 100644
index 0000000..554e870
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/throw5.C
@@ -0,0 +1,23 @@
+// PR c++/57533
+// { dg-do run { target c++11 } }
+
+struct X
+{
+ bool moved = false;
+
+ X() = default;
+ X(const X&) = default;
+ X(X&& x) { x.moved = true; }
+};
+
+int main()
+{
+ X x;
+ try {
+ throw x;
+ }
+ catch(...) {
+ }
+ if (x.moved)
+ __builtin_abort();
+}