>> 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