diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2015-07-17 09:40:29 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2015-07-17 09:40:29 +0000 |
commit | 0e1f8c6a90834987f63f911a86d78e40d5577e80 (patch) | |
tree | 7078210f7a994805cf1f64553e2404f73464f23c /gcc/graphite-dependences.c | |
parent | a6c51a129328343ba445f1cc663f455c173cdc97 (diff) | |
download | gcc-0e1f8c6a90834987f63f911a86d78e40d5577e80.zip gcc-0e1f8c6a90834987f63f911a86d78e40d5577e80.tar.gz gcc-0e1f8c6a90834987f63f911a86d78e40d5577e80.tar.bz2 |
Fix PR61831: Side-effect variable component deallocation
gcc/fortran/
2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/61831
* trans-array.c (gfc_conv_array_parameter): Guard allocatable
component deallocation code generation with descriptorless
calling convention flag.
* trans-expr.c (gfc_conv_expr_reference): Remove allocatable
component deallocation code generation from revision 212329.
(expr_may_alias_variables): New function.
(gfc_conv_procedure_call): New boolean elemental_proc to factor
check for procedure elemental-ness. Rename boolean f to nodesc_arg
and declare it in the outer scope. Use expr_may_alias_variables,
elemental_proc and nodesc_arg to decide whether generate allocatable
component deallocation code.
(gfc_trans_subarray_assign): Set deep copy flag.
gcc/testsuite/
2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/61831
* gfortran.dg/alloc_comp_auto_array_3.f90: Count the number
of generated while loops in the tree dump.
* gfortran.dg/derived_constructor_comps_6.f90: New file.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r225926
Diffstat (limited to 'gcc/graphite-dependences.c')
0 files changed, 0 insertions, 0 deletions