The driver for this patch is SEH, which will add yet another function name variant in each of these places in each front end. While I could adjust each language appropriately, it seems to me that it is a bit cleaner to centralize this knowledge. The next possibly objectionable point is including dwarf2.h in tree.h. I went ahead and did this because in the past we had talked about using the dwarf language enum in LTO. I could see eliminating the hackish language_string -> enum mapping that is done in dwarf2out.c as well. Comments? Objections? r~