diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-08-14 12:26:11 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-08-14 12:26:11 +0200 |
commit | f3e7b9d618f4b089f31c79fcad5f66ba1a58ca01 (patch) | |
tree | fd8ae21355514bd9c9b84fa2b0cf9abb625369da /gcc/fortran/parse.c | |
parent | 2e60cfaa2b1de4fac1fe56be8273f4c547ae74dd (diff) | |
download | gcc-f3e7b9d618f4b089f31c79fcad5f66ba1a58ca01.zip gcc-f3e7b9d618f4b089f31c79fcad5f66ba1a58ca01.tar.gz gcc-f3e7b9d618f4b089f31c79fcad5f66ba1a58ca01.tar.bz2 |
re PR fortran/40881 ([F03] warn for obsolescent features)
2012-08-14 Tobias Burnus <burnus@net-b.de>
PR fortran/40881
* error.c (gfc_notify_std): Reset cur_error_buffer->flag flag
when the error/warning has been printed.
* gfortran.h (gfc_sl_type): Add ST_LABEL_DO_TARGET.
* match.c (gfc_match_do): Use ST_LABEL_DO_TARGET.
* parse.c (check_statement_label): Use ST_LABEL_DO_TARGET.
(parse_executable): Add obsolescence check for DATA.
* resolve.c (resolve_branch): Handle ST_LABEL_DO_TARGET.
* symbol.c (gfc_define_st_label, gfc_reference_st_label):
Add obsolescence diagnostics.
* trans-stmt.c (gfc_trans_label_assign): Handle
* ST_LABEL_DO_TARGET.
2012-08-14 Tobias Burnus <burnus@net-b.de>
PR fortran/40881
* gfortran.dg/data_constraints_3.f90: New.
* gfortran.dg/data_constraints_1.f90: Add dg-options ""
to disable -pedantic compilation.
* gfortran.dg/pr37243.f: Ditto.
* gfortran.dg/g77/19990826-3.f: Ditto.
* gfortran.dg/g77/20020307-1.f : Ditto.
* gfortran.dg/g77/980310-3.f: Ditto.
From-SVN: r190379
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r-- | gcc/fortran/parse.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index ecda163..44b1900 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -1168,7 +1168,10 @@ check_statement_label (gfc_statement st) case ST_END_ASSOCIATE: case_executable: case_exec_markers: - type = ST_LABEL_TARGET; + if (st == ST_ENDDO || st == ST_CONTINUE) + type = ST_LABEL_DO_TARGET; + else + type = ST_LABEL_TARGET; break; case ST_FORMAT: @@ -3825,8 +3828,12 @@ parse_executable (gfc_statement st) case ST_NONE: unexpected_eof (); - case ST_FORMAT: case ST_DATA: + gfc_notify_std (GFC_STD_F95_OBS, "DATA statement at %C after the " + "first executable statement"); + /* Fall through. */ + + case ST_FORMAT: case ST_ENTRY: case_executable: accept_statement (st); |