On 07/15/2011 01:58 PM, Jakub Jelinek wrote: > * dwarf2.h (DW_MACINFO_lo_user, DW_MACINFO_hi_user): Add. > (DW_MACINFO_GNU_define_indirect, DW_MACINFO_GNU_undef_indirect, > DW_MACINFO_GNU_transparent_include, DW_MACINFO_GNU_define_opcode): > Add. > > * dwarf2out.c (dwarf2out_define): If the vector is empty and > lineno is 0, emit a dummy entry first. > (dwarf2out_undef): Likewise. Remove redundant semicolon. > (htab_macinfo_hash, htab_macinfo_eq, output_macinfo_op, > optimize_macinfo_range): New functions. > (output_macinfo): Use them. If !dwarf_strict and .debug_str is > mergeable, optimize longer strings using > DW_MACINFO_GNU_{define,undef}_indirect and if HAVE_COMDAT_GROUP, > optimize longer sequences of define/undef ops from headers > using DW_MACINFO_GNU_transparent_include.
This looks much better. Barring any other feedback from other interested Dwarf parties, I think this can go in. r~