Message ID | 5C649C50.2070604@gmx.de |
---|---|
State | New |
Headers | show |
Series | [PR,fortran/88248] - [F18] Bogus warning about obsolescent feature: Labeled DO statement | expand |
Sorry, forgot to attach the patch to the revised testcase f2018_obs.f90. Here it is. Regards, Harald Adjusted ChangeLog: 2019-02-13 Harald Anlauf <anlauf@gmx.de> PR fortran/88248 * gfortran.dg/pr88248.f90: New test. * gfortran.dg/f2018_obs.f90: Updated test. On 02/13/19 23:38, Harald Anlauf wrote: > The attached patch moves the check for labeled DO statements to > the place where a label is referenced instead of where a label > was defined, which lead to false positives. > > Regtested on x86_64-pc-linux-gnu. > > OK for trunk? > > Thanks, > Harald > > 2019-02-13 Harald Anlauf <anlauf@gmx.de> > > PR fortran/88248 > * symbol.c: Move check for labeled DO statement from > gfc_define_st_label to gfc_reference_st_label. > > 2019-02-13 Harald Anlauf <anlauf@gmx.de> > > PR fortran/88248 > * gfortran.dg/pr88248.f90: New test. > Index: gcc/testsuite/gfortran.dg/f2018_obs.f90 =================================================================== --- gcc/testsuite/gfortran.dg/f2018_obs.f90 (revision 268826) +++ gcc/testsuite/gfortran.dg/f2018_obs.f90 (working copy) @@ -19,8 +19,8 @@ equivalence (a(10),b(1)) ! { dg-warning "obsolescent feature" } - do 99 i=1,10 -99 continue ! { dg-warning "obsolescent feature" } + do 99 i=1,10 ! { dg-warning "obsolescent feature" } +99 continue j = (/ 0, 1, 2, 3, 4, 0, 6, 7 /) forall (i=1:8, j(i) /= 0) ! { dg-warning "obsolescent feature" }
On 2/13/19 2:38 PM, Harald Anlauf wrote: > The attached patch moves the check for labeled DO statements to > the place where a label is referenced instead of where a label > was defined, which lead to false positives. > > Regtested on x86_64-pc-linux-gnu. > > OK for trunk? > Thanks Harald, All OK with test case. Jerry
Commited as rev. 268895: Sending gcc/fortran/ChangeLog Sending gcc/fortran/symbol.c Sending gcc/testsuite/ChangeLog Sending gcc/testsuite/gfortran.dg/f2018_obs.f90 Adding gcc/testsuite/gfortran.dg/pr88248.f90 Transmitting file data .....done Committing transaction... Committed revision 268895. Thanks for the review, Jerry. Harald On 02/14/19 01:45, Jerry DeLisle wrote: > On 2/13/19 2:38 PM, Harald Anlauf wrote: >> The attached patch moves the check for labeled DO statements to >> the place where a label is referenced instead of where a label >> was defined, which lead to false positives. >> >> Regtested on x86_64-pc-linux-gnu. >> >> OK for trunk? >> > > Thanks Harald, > > All OK with test case. > > Jerry >
Index: gcc/fortran/symbol.c =================================================================== --- gcc/fortran/symbol.c (revision 268826) +++ gcc/fortran/symbol.c (working copy) @@ -2743,10 +2743,6 @@ "DO termination statement which is not END DO" " or CONTINUE with label %d at %C", labelno)) return; - if (type == ST_LABEL_DO_TARGET - && !gfc_notify_std (GFC_STD_F2018_OBS, "Labeled DO statement " - "at %L", label_locus)) - return; break; default: @@ -2804,6 +2800,11 @@ "Shared DO termination label %d at %C", labelno)) return false; + if (type == ST_LABEL_DO_TARGET + && !gfc_notify_std (GFC_STD_F2018_OBS, "Labeled DO statement " + "at %L", &gfc_current_locus)) + return false; + if (lp->referenced != ST_LABEL_DO_TARGET) lp->referenced = type; rc = true;