aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2014-07-30 13:27:20 -0400
committerJason Merrill <jason@gcc.gnu.org>2014-07-30 13:27:20 -0400
commita41844e513aa643b1bc41815f7f4ae48aba90464 (patch)
tree650ed490795a4de522819f365890e79a8ced42af /gcc/testsuite
parentd5d0ed2d89a56273efe30331c3e94651134615e7 (diff)
downloadgcc-a41844e513aa643b1bc41815f7f4ae48aba90464.zip
gcc-a41844e513aa643b1bc41815f7f4ae48aba90464.tar.gz
gcc-a41844e513aa643b1bc41815f7f4ae48aba90464.tar.bz2
re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR c++/61659 PR c++/61687 Revert: gcc/c-family/ * c.opt (-fuse-all-virtuals): New. gcc/cp/ * decl2.c (mark_all_virtuals): New variable. (maybe_emit_vtables): Check it instead of flag_devirtualize. (cp_write_global_declarations): Set it and give helpful diagnostic if it introduces errors. * class.c (finish_struct_1): Check it. From-SVN: r213308
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/g++.dg/template/dtor9.C1
-rw-r--r--gcc/testsuite/g++.dg/template/dtor9a.C13
2 files changed, 0 insertions, 14 deletions
diff --git a/gcc/testsuite/g++.dg/template/dtor9.C b/gcc/testsuite/g++.dg/template/dtor9.C
index 006a754..fd71389 100644
--- a/gcc/testsuite/g++.dg/template/dtor9.C
+++ b/gcc/testsuite/g++.dg/template/dtor9.C
@@ -1,5 +1,4 @@
// PR c++/60347
-// { dg-options "-fno-use-all-virtuals" }
struct A;
diff --git a/gcc/testsuite/g++.dg/template/dtor9a.C b/gcc/testsuite/g++.dg/template/dtor9a.C
deleted file mode 100644
index aaae8b6..0000000
--- a/gcc/testsuite/g++.dg/template/dtor9a.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// PR c++/60347
-// { dg-options "-fuse-all-virtuals" }
-
-struct A;
-
-template <class T>
-struct B
-{
- T* p;
- virtual ~B() { p->~T(); } // { dg-error "incomplete" }
-};
-
-struct C: B<A> { };