diff --git a/gcc/testsuite/g++.dg/eh/return3.C b/gcc/testsuite/g++.dg/eh/return3.C
new file mode 100644
index 0000000000000000000000000000000000000000..76aa50d523d796b25fb811b6c0a794f889d4a990
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/return3.C
@@ -0,0 +1,17 @@
+// PR c++/113347
+
+#if __cplusplus < 201103L
+#define THROWS
+#else
+#define THROWS noexcept(false)
+#endif
+
+struct A { ~A(); };
+struct B { ~B() THROWS; };
+
+A f()
+{
+  A a;
+  return a;
+  B();
+}