diff options
| author | tobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-15 21:50:50 +0000 |
|---|---|---|
| committer | tobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-15 21:50:50 +0000 |
| commit | baf442f04ac184480b155ddaa04cccb7a05a981d (patch) | |
| tree | 91cec34fb614da23cba18dd77a187546799cb659 /gcc/fortran/match.c | |
| parent | 3fe7c9431a10fd60756e08ab9c8481b7baad1827 (diff) | |
| download | ppe42-gcc-baf442f04ac184480b155ddaa04cccb7a05a981d.tar.gz ppe42-gcc-baf442f04ac184480b155ddaa04cccb7a05a981d.zip | |
fortran/
PR fortran/15962
* match.c (match_case_selector): Call gfc_match_init_expr
instead of gfc_match_expr.
* resolve.c (validate_case_label_expr): No need to check for
constant, since it wouldn't have been matched with the fix to
match.c.
testsuite/
PR fortran/15962
* gfortran.fortran-torture/execute/select_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83202 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/match.c')
| -rw-r--r-- | gcc/fortran/match.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 79a7e4c73b2..bc2379db49c 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -3102,7 +3102,7 @@ match_case_selector (gfc_case ** cp) if (gfc_match_char (':') == MATCH_YES) { - m = gfc_match_expr (&c->high); + m = gfc_match_init_expr (&c->high); if (m == MATCH_NO) goto need_expr; if (m == MATCH_ERROR) @@ -3111,7 +3111,7 @@ match_case_selector (gfc_case ** cp) else { - m = gfc_match_expr (&c->low); + m = gfc_match_init_expr (&c->low); if (m == MATCH_ERROR) goto cleanup; if (m == MATCH_NO) @@ -3123,7 +3123,7 @@ match_case_selector (gfc_case ** cp) c->high = c->low; else { - m = gfc_match_expr (&c->high); + m = gfc_match_init_expr (&c->high); if (m == MATCH_ERROR) goto cleanup; /* MATCH_NO is fine. It's OK if nothing is there! */ @@ -3134,7 +3134,7 @@ match_case_selector (gfc_case ** cp) return MATCH_YES; need_expr: - gfc_error ("Expected expression in CASE at %C"); + gfc_error ("Expected initialization expression in CASE at %C"); cleanup: free_case (c); |

