[gfortran,patch] Fix Fortran/18827
Paul Brook
paul@codesourcery.com
Mon Dec 20 02:24:00 GMT 2004
> fortran/ChangeLog entry:
> 2004-12-14 Feng Wang <fengwang@nudt.edu.cn>
>
> PR fortran/18827
> * io.c (resolve_tag): Add checking on assigned label.
> (match_dt_format): Does not set symbol assign attribute.
> * match.c (gfc_match_goto):Does not set symbol assign attribute.
> * resolve.c (resolve_code): Add checking on assigned label.
> * trans-common.c (build_field): Deals with common variable assigned
> a label.
> * trans-stmt.c (gfc_conv_label_variable): New function.
> (gfc_trans_label_assign): Use it.
> (gfc_trans_goto): Ditto.
> * trans-io.c (set_string): Ditto.
> * trans.h (gfc_conv_label_variable): Add prototype.
>
> testsuites/ChangeLog entry:
> 2004-12-14 Feng Wang <fengwang@nudt.edu.cn>
>
> PR fortran/18827
> * gfortran.dg/assign_2.f90: New test.
> * gfortran.dg/assign_3.f90: New test.
Not ok. This causes many regressions on i686-linux. For example:
FAIL: gfortran.dg/g77/20010519-1.f -O (test for excess errors)
Excess errors:
/home/paul/cases/gcc/gcc/testsuite/gfortran.dg/g77/20010519-1.f:711: internal
compiler error: in gfc_conv_label_variable, at fortran/trans-stmt.c:89
Lines 87-79 are as follows:
gfc_conv_label_variable (gfc_se * se, gfc_expr * expr)
{
gcc_assert (expr->symtree->n.sym->attr.assign != 1);
Paul
More information about the Fortran
mailing list