On 2014.07.30 at 13:26 -0400, Jason Merrill wrote:
> Since can_refer_decl_in_current_unit_p doesn't allow references to 
> DECL_COMDAT entities that aren't defined in the current unit, by setting 
> that flag we can avoid problems with devirtualization introducing 
> references to vague linkage functions that haven't been 
> synthesized/instantiated because they aren't referenced directly.
> 
> The first attached patch sets DECL_COMDAT for inlines and templates.
> 
> The second attached patch removes the -fuse-all-virtuals code, which is 
> no longer needed for correctness.
> 
> Tested x86_64-pc-linux-gnu, applying to trunk.  I'm planning to apply 
> the first patch to 4.9.2 if it doesn't cause trouble on trunk.

It breaks Firefox build:
...
/tmp/cc1qQHsI.ltrans2.ltrans.o:cc1qQHsI.ltrans2.o:function 
JS::AutoGCRooter::trace(JSTracer*): error: undefined reference to 
'js::frontend::MarkParser(JSTracer*, JS::AutoGCRooter*)'
collect2: error: ld returned 1 exit status
/var/tmp/mozilla-central/config/rules.mk:719: recipe for target 'js' failed

I haven't looked deeper yet. 

-- 
Markus

Reply via email to