re PR c++/31027 (Compiler segfaults in simple virtual inheritance situation)
authorPaolo Carlini <pcarlini@suse.de>
Wed, 11 Jul 2007 21:52:04 +0000 (21:52 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 11 Jul 2007 21:52:04 +0000 (21:52 +0000)
2007-07-11  Paolo Carlini  <pcarlini@suse.de>

PR c++/31027
* g++.dg/inherit/virtual4.C: New.

From-SVN: r126558

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/inherit/virtual4.C [new file with mode: 0644]

index 02d37a000a4a4ae7917441499d525164e2b82496..1f5bdf46d8206bc9b02f192185dd2fc9e33e7301 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-11  Paolo Carlini  <pcarlini@suse.de>
+
+       PR c++/31027
+       * g++.dg/inherit/virtual4.C: New.
+
 2007-07-11  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/32661
diff --git a/gcc/testsuite/g++.dg/inherit/virtual4.C b/gcc/testsuite/g++.dg/inherit/virtual4.C
new file mode 100644 (file)
index 0000000..5415fdb
--- /dev/null
@@ -0,0 +1,24 @@
+// PR c++/31027
+
+struct A {};
+
+template<typename T>
+struct C: virtual A {
+  C() {}
+  template<typename T_OTHER> C(const C<T_OTHER>&) {}
+  C func(const class C<long>&) const;
+  operator bool() const;
+};
+
+template<typename T>
+struct D: C<T> {
+  void func2() {
+    C<int>a;
+    a.func(a);
+  }
+};
+
+void func3() {
+  C<int>a;
+  a.func(a);
+}