Howdy! Such simple requests. Such a pain in the ass to implement :). I know Richard will be tickled pink with the attached patch-- well, at least with the general approach, as generically handling DECLs has been his desire all along. I hope I got it right, as it was a royal pain to get the libraries built, and the guality tests to pass with no regressions. Our dwarf implementation is finicky to say the least. With this patch we generate symbols and functions generically, and get rid of a plethora of front-end code attempting to generate debug information at different places. I do have a question about generating C++ namespace alias debug info in the code marked with ??, if you care to answer. I wrote a huge comment on gen_subprogram_die() explaining the multitude of times this, and other gen_*_die, functions get called. If only, it helps me keep things straight. If you dislike it, we could remove it at merge time, but I honestly don't understand how anyone could understand all this without intimate knowledge of the code (that is, it's sure not obvious from a cursory look at the code). In a perhaps distant future, I'd like to remove dwarf2out_type_decl() entirely, though its presence is currently needed to get DIEs generated in the right order. Again, finicky. But alas, this doesn't bother me too much. I could seriously benefit from review on this code, as I've been looking at it far too long. Aldy