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] |
I've been told that my copyright assignment has been processed, so here comes the updated patch I promised. Den 23.04 kl 22:36:19 skrev eedelman@acclab.helsinki.fi: > Den 23.04 kl 11:17:26 skrev tobias.schlueter@physik.uni-muenchen.de: > > Erik Edelmann wrote: > > > After looking at a bunch of other test cases, and some trial and > > > error, I've come up with the test cases below. > > > br_array_constr_1.f90 adds 32 new "# of expected passes", and > > > br_array_constr_2.f90 adds 3. If someone with better knowledge > > > than me on how this testsuite system is expected to work would > > > take the time and look at my test cases and either confirm that > > > they are OK, or tell me what's wrong with them, I would be most > > > grateful. > > > > Yes they look right. The { dg-warning } line should probably match "array > > constructor" instead of "New in Fortran 2003:", > > Ok. Fixed. > > because I don't like that > > wording too much ("... are an extension to Fortran 95"? Hm, not too good > > either), > > No, I wasn't completely satisfied with the wording either. I'll > think about it some more. Suggestions wellcome. Well, I haven't found anything better (but I'll have to admit that I have not thought about this issue _very_ much). But the current error message still conveys what I feel is important: the feature is not F95 (or earlier) standard, but it _is_ F2003 standard (and thus different from other extensions). Reg. tested on mainline. Please commit if OK. Erik (test cases as attachments) 2005-05-12 Erik Edelmann <erik.edelmann@iki.fi> * gfortran.dg/br_array_constr_1.f90: New test. * gfortran.dg/br_array_constr_2.f90: New test. 2005-05-12 Erik Edelmann <erik.edelmann@iki.fi> * array.c (gfc_match_array_constructor): Support [ ... ] style array constructors. Index: gcc/fortran/array.c =================================================================== RCS file: /cvsroot/gcc/gcc/gcc/fortran/array.c,v retrieving revision 1.14 diff -u -p -r1.14 array.c --- gcc/fortran/array.c 5 Apr 2005 08:54:30 -0000 1.14 +++ gcc/fortran/array.c 11 May 2005 19:50:37 -0000 @@ -866,14 +866,27 @@ gfc_match_array_constructor (gfc_expr ** gfc_expr *expr; locus where; match m; + const char *end_delim; if (gfc_match (" (/") == MATCH_NO) - return MATCH_NO; + { + if (gfc_match (" [") == MATCH_NO) + return MATCH_NO; + else + { + if (gfc_notify_std (GFC_STD_F2003, "New in Fortran 2003: [...] " + "style array constructors at %C") == FAILURE) + return MATCH_ERROR; + end_delim = " ]"; + } + } + else + end_delim = " /)"; where = gfc_current_locus; head = tail = NULL; - if (gfc_match (" /)") == MATCH_YES) + if (gfc_match (end_delim) == MATCH_YES) goto empty; /* Special case */ for (;;) @@ -895,7 +908,7 @@ gfc_match_array_constructor (gfc_expr ** break; } - if (gfc_match (" /)") == MATCH_NO) + if (gfc_match (end_delim) == MATCH_NO) goto syntax; empty:
Attachment:
br_array_constr_1.f90
Description: Text document
Attachment:
br_array_constr_2.f90
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |