This is the mail archive of the gcc-patches@gcc.gnu.org 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] |
bdavis wrote:
The problem:Hmmmm, can we be sure that `s' being "too large" is the only reason that ffestorag_size (st) is zero ?
dimension a(250000,250000) a(1,1)= 0. write(*,*) ' a',a(1,1) end
gives no error message.
Here is what it should do:
big.f: In program `MAIN__': big.f:1: dimension a(250000,250000) ^ Array `a' at (^) is too large to handle.
Patch tested on i386 / linux with no new failures. The above snippet can be added to the "non-compile" directory of the testsuite.
(Toon, what is the best way to post new test files?)
--bud davis
----------------------------------------------------------------------------------------------------------------------------------------
Index: gcc/gcc/f/com.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/f/com.c,v retrieving revision 1.195 diff -c -3 -p -r1.195 com.c *** gcc/gcc/f/com.c 13 May 2003 18:06:48 -0000 1.195 --- gcc/gcc/f/com.c 18 May 2003 21:57:36 -0000 *************** ffecom_sym_transform_ (ffesymbol s) *** 7407,7420 **** { ffestorag st = ffesymbol_storage (s); tree type; - - if ((st != NULL) - && (ffestorag_size (st) == 0)) - { - t = error_mark_node; - break; - } - type = ffecom_type_localvar_ (s, bt, kt);
if (type == error_mark_node) --- 7407,7412 ----
regards, bud davis
Index: gcc/gcc/f/com.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/f/com.c,v retrieving revision 1.195 diff -c -3 -p -r1.195 com.c *** gcc/gcc/f/com.c 13 May 2003 18:06:48 -0000 1.195 --- gcc/gcc/f/com.c 22 May 2003 02:50:19 -0000 *************** ffecom_sym_transform_ (ffesymbol s) *** 7408,7420 **** ffestorag st = ffesymbol_storage (s); tree type;
- if ((st != NULL) - && (ffestorag_size (st) == 0)) - { - t = error_mark_node; - break; - } - type = ffecom_type_localvar_ (s, bt, kt);
if (type == error_mark_node) --- 7408,7413 ---- *************** ffecom_sym_transform_ (ffesymbol s) *** 7422,7427 **** --- 7415,7427 ---- t = error_mark_node; break; } + + if ((st != NULL) + && (ffestorag_size (st) == 0)) + { + t = error_mark_node; + break; + }
if ((st != NULL) && (ffestorag_parent (st) != NULL))
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |