aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-dom.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2017-11-19 19:50:50 +0000
committerPaul Thomas <pault@gcc.gnu.org>2017-11-19 19:50:50 +0000
commita6b22eea5b059f9eab1a6b13e2bea86bc3077906 (patch)
tree40b3d92cc98089c0203d785b23eff11fa4d4902b /gcc/tree-ssa-dom.c
parent77459763f49af6171d5512f71576f4d4d7640b28 (diff)
downloadgcc-a6b22eea5b059f9eab1a6b13e2bea86bc3077906.zip
gcc-a6b22eea5b059f9eab1a6b13e2bea86bc3077906.tar.gz
gcc-a6b22eea5b059f9eab1a6b13e2bea86bc3077906.tar.bz2
re PR fortran/78990 (ICE when assigning polymorphic array function result)
2017-11-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/78990 * expr.c (gfc_is_class_array_function): Renamed from 'gfc_is_alloc_class_array_function' and modified to return true for pointers as well as allocatable results. * gfortran.h : Change of name for prototype of above function. * trans-array.c (gfc_add_loop_ss_code): Force finalization of class array results. (build_class_array_ref): Change assertion into a condition. (build_class_array_ref): Set the se class_vptr for class array function results. (gfc_walk_function_expr): Reference gfc_is_class_array_function as above. * trans-decl.c (get_proc_result): Move it up before gfc_trans_deferred_vars. (gfc_trans_deferred_vars): Nullify explicit return class arrays on entry. * trans-expr.c (gfc_conv_class_to_class): Allow conversion of class array functions that have an se class_vptr and use it for the result vptr. (gfc_conv_subref_array_arg): Rename reference to the above function. (gfc_conv_procedure_call): Ditto. Add the se pre block to the loop pre block before the function is evaluated. Do not finalize class pointer results. (arrayfunc_assign_needs_temporary, gfc_trans_assignment_1) More renamed references. * trans-intrinsic.c (gfc_conv_intrinsic_size): Ditto. 2017-11-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/78990 * gfortran.dg/class_67.f90: New test. From-SVN: r254936
Diffstat (limited to 'gcc/tree-ssa-dom.c')
0 files changed, 0 insertions, 0 deletions