diff options
author | Jason Merrill <jason@redhat.com> | 2014-07-30 13:27:20 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2014-07-30 13:27:20 -0400 |
commit | a41844e513aa643b1bc41815f7f4ae48aba90464 (patch) | |
tree | 650ed490795a4de522819f365890e79a8ced42af /gcc/testsuite | |
parent | d5d0ed2d89a56273efe30331c3e94651134615e7 (diff) | |
download | gcc-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.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/dtor9a.C | 13 |
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> { }; |