Commit 1b60eaed by Jason Merrill Committed by Jason Merrill

re PR c++/61811 (Firefox LTO build error due to undefined symbols)

	PR c++/61811
	* decl2.c (maybe_emit_vtables): Return true for -fuse-all-virtuals.

From-SVN: r212576
parent a6d0b750
2014-07-15 Jason Merrill <jason@redhat.com> 2014-07-15 Jason Merrill <jason@redhat.com>
PR c++/61811
* decl2.c (maybe_emit_vtables): Return true for -fuse-all-virtuals.
PR c++/60848 PR c++/60848
PR c++/61723 PR c++/61723
* call.c (is_std_init_list): Don't check CLASSTYPE_TEMPLATE_INFO. * call.c (is_std_init_list): Don't check CLASSTYPE_TEMPLATE_INFO.
......
...@@ -2014,11 +2014,15 @@ maybe_emit_vtables (tree ctype) ...@@ -2014,11 +2014,15 @@ maybe_emit_vtables (tree ctype)
if (DECL_COMDAT (primary_vtbl) if (DECL_COMDAT (primary_vtbl)
&& CLASSTYPE_DEBUG_REQUESTED (ctype)) && CLASSTYPE_DEBUG_REQUESTED (ctype))
note_debug_info_needed (ctype); note_debug_info_needed (ctype);
if (mark_all_virtuals) if (mark_all_virtuals && !DECL_ODR_USED (primary_vtbl))
/* Make sure virtual functions get instantiated/synthesized so that {
they can be inlined after devirtualization even if the vtable is /* Make sure virtual functions get instantiated/synthesized so that
never emitted. */ they can be inlined after devirtualization even if the vtable is
mark_vtable_entries (primary_vtbl); never emitted. */
mark_used (primary_vtbl);
mark_vtable_entries (primary_vtbl);
return true;
}
return false; return false;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment