This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, libgfortran] PR25949 Excessive memory usage due to buffering.
- From: Paul Thomas <paulthomas2 at wanadoo dot fr>
- To: Jerry DeLisle <jvdelisle at verizon dot net>
- Cc: GNU GFortran <fortran at gcc dot gnu dot org>, GCC patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 26 Jan 2006 06:50:05 +0100
- Subject: Re: [Patch, libgfortran] PR25949 Excessive memory usage due to buffering.
- References: <20060125212136.GJ8052@vipunen.hut.fi> <43D84224.6030402@verizon.net>
Jerry,
This passed all NIST tests except fm311.f which is an unrelated
compile error.
I have just tested the fix for this - I will commit it tonight under the
"obvious" rule. Please note that this fix is mixed up with the patch
for assumed character length functions but it is the
! && sym->attr.proc != PROC_ST_FUNCTION) below.
Thanks for reporting it.
Paul
Index: gcc/fortran/resolve.c
===================================================================
*** gcc/fortran/resolve.c (revision 110174)
--- gcc/fortran/resolve.c (working copy)
--- 1183,1202 ----
resolve_function (gfc_expr * expr)
{
gfc_actual_arglist *arg;
+ gfc_symbol * sym;
const char *name;
try t;
int temp;
+ sym = NULL;
+ if (expr->symtree)
+ sym = expr->symtree->n.sym;
+
/* If the procedure is not internal or module, it must be external and
should be checked for usage. */
! if (sym && !sym->attr.dummy && !sym->attr.contained &&
!sym->attr.use_assoc
! && sym->attr.proc != PROC_ST_FUNCTION)
! resolve_global_procedure (sym, &expr->where, 0);
/* Switch off assumed size checking and do this again for certain kinds
of procedure, once the procedure itself is resolved. */