This is the mail archive of the mailing list for the GCC 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]

Re: g77 large array

Dale Johannesen wrote:

On Tuesday, October 14, 2003, at 08:00 PM, Robert Dewar wrote:

In this case, two arrays do not need memory at the same time.
Cannot SUBROUTINE B use the same memory area as A in Fortran compiler,
even if I do not declare explicitly COMMON I?

Actually, most modern Fortran compilers have a switch to control this. g77 documents
-fautomatic to do what you want. I haven't tried it; the doc also claims it is the default, so
it may not be working right in your environment, or it may have some limit on how much
stack space it will allocate.

Well, the reason to have a maximum-size-to-put-on-the-stack for arrays when the first release of g77 was made (early '95) was that a lot of the target systems had small stack sizes (by default and as a system wide maximum). If the compiler just allocated arbitrarily sized arrays on the stack, much more people would have run into segmentation faults than are now.

However, g77 (like all of GCC) is free software. You can up the limit yourself (and rebuild the compiler). The limit is in the file gcc/f/com.c, constant FFECOM_sizeMAXSTACKITEM.

Hope this helps,

Toon Moene - - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77:
GNU Fortran 95: (under construction)

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