[1/2] Fortran: dump-parse-tree attribs: fix unbalanced braces [PR109624]
Checks
Commit Message
From: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
gcc/fortran/ChangeLog:
PR fortran/109624
* dump-parse-tree.cc (debug): New function for gfc_namespace.
(gfc_debug_code): Delete forward declaration.
(show_attr): Make sure to print balanced braces.
---
(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: )
There is an open brace missing after "attributes: "
Regression tested on x86_64-linux, OK for trunk?
---
gcc/fortran/dump-parse-tree.cc | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
Comments
[re-adding the lists, i hope you don't mind]
On Wed, 10 May 2023 18:52:54 +0200
Thomas Koenig <tkoenig@netcologne.de> wrote:
> Hi Bernhard,
>
> both patches look good to me.
Pushed as r14-664-g39f7c0963a9c00 and r14-665-gbdc10c2bfaceb3
Thanks!
>
> No user impact, so they should have the lowest possible impact :-)
>
> (And I didn't know about DEBUG_FUNCTION, that could come in handy
> later).
>
> Thanks for the patch!
>
> Best regards
>
> Thomas
@@ -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));