aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/method.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-11-10 16:14:42 -0500
committerJason Merrill <jason@gcc.gnu.org>2011-11-10 16:14:42 -0500
commit99c18869efe4d723a5c715696b65cd833dfee531 (patch)
tree806b310c0bd83c22387879b2fb22c9edd08e2f6f /gcc/cp/method.c
parentd660c35ea2ba7c23049d3c8c2e07bf7dbcf0aed9 (diff)
downloadgcc-99c18869efe4d723a5c715696b65cd833dfee531.zip
gcc-99c18869efe4d723a5c715696b65cd833dfee531.tar.gz
gcc-99c18869efe4d723a5c715696b65cd833dfee531.tar.bz2
re PR c++/50973 ([C++0x] internal compiler error defaulted destructor virtual inheritance)
PR c++/50973 * decl2.c (mark_used): Defer synthesis of virtual functions. * method.c (use_thunk): Make sure the target function has DECL_INTERFACE_KNOWN. From-SVN: r181272
Diffstat (limited to 'gcc/cp/method.c')
-rw-r--r--gcc/cp/method.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index bb58312..8101f8a 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -339,6 +339,7 @@ use_thunk (tree thunk_fndecl, bool emit_p)
DECL_EXTERNAL (thunk_fndecl) = 0;
/* The linkage of the function may have changed. FIXME in linkage
rewrite. */
+ gcc_assert (DECL_INTERFACE_KNOWN (function));
TREE_PUBLIC (thunk_fndecl) = TREE_PUBLIC (function);
DECL_VISIBILITY (thunk_fndecl) = DECL_VISIBILITY (function);
DECL_VISIBILITY_SPECIFIED (thunk_fndecl)