[patch, fortran] PR41909 [4.4/4.5 Regression] ICE with "call foo" in "program foo"

Jerry DeLisle jvdelisle@verizon.net
Fri Nov 6 04:33:00 GMT 2009


Hi Folks,

This simple patch avoids the assertion that is giving the ICE.

Regression tested on x86-64.

With the patch, the test case in the PR gives:

$ gfc pr41909.f90
pr41909.f90:3.13:

   call test()
              1
pr41909.f90:1.12:

program test
             2
Error: Global name 'test' at (1) is already being used as a PROGRAM at (2)


OK for trunk?

Regards,

Jerry

Index: resolve.c
===================================================================
--- resolve.c	(revision 153956)
+++ resolve.c	(working copy)
@@ -1117,6 +1117,9 @@
    gfc_symbol* context_proc;
    gfc_namespace* real_context;

+  if (sym->attr.flavor == FL_PROGRAM)
+    return false;
+
    gcc_assert (sym->attr.flavor == FL_PROCEDURE);

    /* If we've got an ENTRY, find real procedure.  */



More information about the Gcc-patches mailing list