https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82542
--- Comment #7 from Ben Longbons <b.r.longbons at gmail dot com> --- I saw that mailing list post, but it only explains *what*, not *why*. I never really gave consideration to DWARF, since in my little experience it is very unportable for a "standard". I suppose I could investigate it more, but ... that would require a very significant code change (since DWARF has a completely different mindset), and I don't even know if *all* the interesting trees survive that long (one of my long-term goals is to allow using C++ templates). Also, bugs that get filed against GCC's DWARF support tend to just go unfixed forever (I've filed at least 3 of them). The only real infelicity I've found in the TU dump *format* (after the high/low integers went away) is that strings aren't quoted, but that only becomes a problem if " lngt: MM\n@NNNN" occurs in the string with appropriate integers MM and NNNN. (There is also a bug I filed about wide strings not dumping). I certainly wouldn't complain if it was replaced with an XML-based format with the same general structure (don't try to make it nice, keep it raw) - parsing is the easiest part of tooling. Finally - even if GCC's internal tree layout is *theoretically* unstable - any such changes will cause more problems for people working on the compiler itself, and in practice have always been trivial to update for.