https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109624
Bug ID: 109624 Summary: dump-parse-tree prints attributes with unbalanced braces Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: internal-improvement Severity: trivial Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: aldot at gcc dot gnu.org Target Milestone: --- (gdb) call debug(gfc_current_ns) Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4) procedure name = fmodule symtree: 'C_ptr' || symbol: 'c_ptr' type spec : (UNKNOWN 0) attributes: ) symtree: '__def_init___iso_c_binding_C_ptr'|| symbol: '__def_init___iso_c_binding_C_ptr' type spec : (UNKNOWN 0) attributes: ) ... There is an open brace missing after "attributes: " diff --git a/gcc/fortran/dump-parse-tree.cc b/gcc/fortran/dump-parse-tree.cc index 1fc1f311e84..2380fa04796 100644 --- a/gcc/fortran/dump-parse-tree.cc +++ b/gcc/fortran/dump-parse-tree.cc @@ -125,6 +125,16 @@ void debug (gfc_ref *p) dumpfile = tmp; } +void +debug (gfc_namespace *ns) +{ + FILE *tmp = dumpfile; + dumpfile = stderr; + show_namespace (ns); + fputc ('\n', dumpfile); + dumpfile = tmp; +} + void gfc_debug_expr (gfc_expr *e) { @@ -136,7 +146,6 @@ gfc_debug_expr (gfc_expr *e) } /* Allow for dumping of a piece of code in the debugger. */ -void gfc_debug_code (gfc_code *c); void gfc_debug_code (gfc_code *c) @@ -758,12 +767,13 @@ show_expr (gfc_expr *p) static void show_attr (symbol_attribute *attr, const char * module) { + fputc ('(', dumpfile); if (attr->flavor != FL_UNKNOWN) { if (attr->flavor == FL_DERIVED && attr->pdt_template) - fputs (" (PDT-TEMPLATE", dumpfile); + fputs ("PDT-TEMPLATE ", dumpfile); else - fprintf (dumpfile, "(%s ", gfc_code2string (flavors, attr->flavor)); + fprintf (dumpfile, "%s ", gfc_code2string (flavors, attr->flavor)); } if (attr->access != ACCESS_UNKNOWN) fprintf (dumpfile, "%s ", gfc_code2string (access_types, attr->access));