diff mbox

Testcase for PR42987

Message ID Pine.LNX.4.64.1205071346250.23071@jbgna.fhfr.qr
State New
Headers show

Commit Message

Richard Biener May 7, 2012, 11:46 a.m. UTC
Committed.

Richard.

2012-05-07  Richard Guenther  <rguenther@suse.de>

	PR lto/42987
	* g++.dg/lto/pr42987_0.C: New testcase.
	* g++.dg/lto/pr42987_1.C: Likewise.
diff mbox

Patch

Index: gcc/testsuite/g++.dg/lto/pr42987_0.C
===================================================================
--- gcc/testsuite/g++.dg/lto/pr42987_0.C	(revision 0)
+++ gcc/testsuite/g++.dg/lto/pr42987_0.C	(revision 0)
@@ -0,0 +1,22 @@ 
+// { dg-lto-do run }
+// { dg-lto-options { { -flto -g } { -flto -flto-partition=none -g } } }
+
+#include <typeinfo>
+
+struct B {
+  virtual void b() {}
+};
+
+static B* f() {
+  struct D : public B {
+  };
+
+  return new D;
+}
+
+extern B* g();
+
+int main () {
+  if (typeid (*f()) == typeid (*g()))
+    return 1;
+}
Index: gcc/testsuite/g++.dg/lto/pr42987_1.C
===================================================================
--- gcc/testsuite/g++.dg/lto/pr42987_1.C	(revision 0)
+++ gcc/testsuite/g++.dg/lto/pr42987_1.C	(revision 0)
@@ -0,0 +1,14 @@ 
+struct B {
+  virtual void b() {}
+};
+
+static B* f() {
+  struct D : public B {
+  };
+
+  return new D;
+}
+
+B* g() {
+  return f();
+}