From cc0723165e7aa03d4f07f542452ca7cbb7912d69 Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@gcc.gnu.org>
Date: Fri, 18 Jan 2002 08:24:04 -0500
Subject: [PATCH] also test with inlining

From-SVN: r48984
---
 gcc/testsuite/g++.dg/opt/nrv2.C | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 gcc/testsuite/g++.dg/opt/nrv2.C

diff --git a/gcc/testsuite/g++.dg/opt/nrv2.C b/gcc/testsuite/g++.dg/opt/nrv2.C
new file mode 100644
index 000000000000..4ffc075878d3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/nrv2.C
@@ -0,0 +1,28 @@
+// Test for the named return value optimization, this time with inlining.
+// { dg-do run }
+// { dg-options -O2 }
+
+int c;
+int d;
+
+struct A
+{
+  A() { ++c; }
+  A(const A&) { ++c; };
+  ~A() { ++d; }
+};
+
+inline A f ()
+{
+  A a;
+  return a;
+}
+
+int main ()
+{
+  {
+    A a = f ();
+  }
+
+  return !(c == 1 && c == d);
+}
-- 
GitLab