]> gcc.gnu.org Git - gcc.git/commit
re PR fortran/35681 (wrong result for vector subscripted array expression in MVBITS)
authorMikael Morin <mikael.morin@tele2.fr>
Sun, 16 Nov 2008 22:45:10 +0000 (23:45 +0100)
committerMikael Morin <mikael@gcc.gnu.org>
Sun, 16 Nov 2008 22:45:10 +0000 (22:45 +0000)
commit2b0bd71482ce011ac9c399534feb9c62a7d75a80
tree232858a8b76bd4730269441ec98967c72d4e5605
parentd3ea650c44d79a7ba10ec2964cf2bfd707c7b396
re PR fortran/35681 (wrong result for vector subscripted array expression in MVBITS)

2008-11-16  Mikael Morin <mikael.morin@tele2.fr>

PR fortran/35681
* dependency.c (gfc_check_argument_var_dependency): Add
elemental check flag. Issue a warning if we find a dependency
but don't generate a temporary. Add the case of an elemental
function call as actual argument to an elemental procedure.
Add the case of an operator expression as actual argument
to an elemental procedure.
(gfc_check_argument_dependency): Add elemental check flag.
Update calls to gfc_check_argument_var_dependency.
(gfc_check_fncall_dependency): Add elemental check flag.
Update call to gfc_check_argument_dependency.
* trans-stmt.c (gfc_trans_call): Make call to
gfc_conv_elemental_dependency unconditional, but with a flag
whether we should check dependencies between variables.
(gfc_conv_elemental_dependency): Add elemental check flag.
Update call to gfc_check_fncall_dependency.
* trans-expr.c (gfc_trans_arrayfunc_assign): Update call to
gfc_check_fncall_dependency.
* resolve.c (find_noncopying_intrinsics): Update call to
gfc_check_fncall_dependency.
* dependency.h (enum gfc_dep_check): New enum.
(gfc_check_fncall_dependency): Update prototype.

2008-11-16  Mikael Morin <mikael.morin@tele2.fr>

PR fortran/35681
* gfortran.dg/elemental_dependency_1.f90: New test.

From-SVN: r141931
gcc/fortran/ChangeLog
gcc/fortran/dependency.c
gcc/fortran/dependency.h
gcc/fortran/resolve.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-stmt.c
gcc/testsuite/ChangeLog
This page took 0.055822 seconds and 5 git commands to generate.