[Bug fortran/30407] Elemental functions in WHERE assignments wrongly rejected
pault at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Jan 27 18:23:00 GMT 2007
------- Comment #6 from pault at gcc dot gnu dot org 2007-01-27 18:23 -------
Subject: Bug 30407
Author: pault
Date: Sat Jan 27 18:23:14 2007
New Revision: 121235
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=121235
Log:
2007-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30407
* trans-expr.c (gfc_conv_operator_assign): New function.
* trans.h : Add prototype for gfc_conv_operator_assign.
* trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
a potential operator assignment subroutine. If it is non-NULL
call gfc_conv_operator_assign instead of the first assignment.
( gfc_trans_where_2): In the case of an operator assignment,
extract the argument expressions from the code for the
subroutine call and pass the symbol to gfc_trans_where_assign.
resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
gfc_resolve_forall_body): Resolve the subroutine call for
operator assignments.
2007-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30407
* gfortran.dg/where_operator_assign_1.f90: New test.
* gfortran.dg/where_operator_assign_2.f90: New test.
* gfortran.dg/where_operator_assign_3.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/where_operator_assign_1.f90
trunk/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90
trunk/gcc/testsuite/gfortran.dg/where_operator_assign_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30407
More information about the Gcc-bugs
mailing list