This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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. */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]