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]

Re: [gfortran,patch] Fix Fortran/18827


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]