OSDN Git Service

2007-07-11 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jul 2007 21:52:04 +0000 (21:52 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jul 2007 21:52:04 +0000 (21:52 +0000)
PR c++/31027
* g++.dg/inherit/virtual4.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126558 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 02d37a0..1f5bdf4 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);
+}