Tested on x86_64-pc-linux-gnu, pushed to trunk as obvious. -- >8 --
Unlike DECL_TEMPLATE_INFO which is stored in DECL_LANG_SPECIFIC, TYPE_TEMPLATE_INFO isn't stored in TYPE_LANG_SPECIFIC, so we don't need to check for both in cxx_print_type. This fixes dumping the template-info of ENUMERAL_TYPE and BOUND_TEMPLATE_TEMPLATE_PARM, which seem to never have TYPE_LANG_SPECIFIC. gcc/cp/ChangeLog: * ptree.cc (cxx_print_type): Remove TYPE_LANG_SPECIFIC test guarding TYPE_TEMPLATE_INFO. --- gcc/cp/ptree.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ptree.cc b/gcc/cp/ptree.cc index b4001486701..32c5b5280dc 100644 --- a/gcc/cp/ptree.cc +++ b/gcc/cp/ptree.cc @@ -141,9 +141,8 @@ cxx_print_decl (FILE *file, tree node, int indent) void cxx_print_type (FILE *file, tree node, int indent) { - if (TYPE_LANG_SPECIFIC (node) - && TYPE_TEMPLATE_INFO (node)) - print_node (file, "template-info", TYPE_TEMPLATE_INFO (node), indent + 4); + if (tree ti = TYPE_TEMPLATE_INFO (node)) + print_node (file, "template-info", ti, indent + 4); switch (TREE_CODE (node)) { -- 2.42.0.216.gbda494f404