aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2014-02-03 18:22:46 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2014-02-03 18:22:46 +0000
commitf344f525193bd4e271ea50c5eb7a4e92c57dbc67 (patch)
treeef34bcaa01238eb23ee38cda1888df3188a6be29 /gcc/testsuite
parentcf5b2be2a4b13c3fb806033840581cd02080375c (diff)
downloadgcc-f344f525193bd4e271ea50c5eb7a4e92c57dbc67.zip
gcc-f344f525193bd4e271ea50c5eb7a4e92c57dbc67.tar.gz
gcc-f344f525193bd4e271ea50c5eb7a4e92c57dbc67.tar.bz2
re PR c++/58871 ([c++11] ICE with defaulted copy constructor in broken template class hierarchy)
/cp 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58871 * method.c (synthesized_method_walk): If vbases is non-null but is_empty is true, likewise don't worry about the virtual bases. /testsuite 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58871 * g++.dg/cpp0x/pr58871.C: New. From-SVN: r207434
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr58871.C12
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d896017..8c7af49 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58871
+ * g++.dg/cpp0x/pr58871.C: New.
+
2014-02-03 Cong Hou <congh@google.com>
PR tree-optimization/60000
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr58871.C b/gcc/testsuite/g++.dg/cpp0x/pr58871.C
new file mode 100644
index 0000000..5920f5c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/pr58871.C
@@ -0,0 +1,12 @@
+// PR c++/59111
+// { dg-do compile { target c++11 } }
+
+template<typename T> struct A : virtual T // { dg-error "base type" }
+{
+ A();
+ A(const A&);
+};
+
+template<typename T> A<T>::A(const A<T>&) = default;
+
+A<int> a = A<int>();