>> 2012-08-25   Cary Coutant  <ccout...@google.com>
>>
>> gcc/
>>         * dwarf2out.c (is_template_instantiation): New function.
>>         (should_move_die_to_comdat): Reject types that are template
>>         instantiations.

I'm withdrawing this patch. While it does solve the problem in the
specific test case I had at hand, I've run some tests on other code
and found that overall it seems to increase debug size. I'm seeing
fewer type units and bigger .debug_info (as expected) but the total
size of the (fewer) type units is much larger than before -- most
likely due to non-template types that refer to template types, which
now must be copied into each type unit that references them.

I'll need a more surgical fix to this, but I'm having trouble creating
a small test case that demonstrates the problem I'm seeing in the
pathological test case I have, so it's been a real pain to analyze.

-cary

Reply via email to