From 430f2d1f6fcde2ccbf5ae935e15e13f0bb3e8c4c Mon Sep 17 00:00:00 2001 From: Paul Thomas Date: Fri, 5 Feb 2010 05:28:37 +0000 Subject: re PR fortran/42309 (Problem with a pointer array passed to a subroutine) 2010-02-05 Paul Thomas PR fortran/42309 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument 'formal_ptr'. If this is true, give returned descriptor unity lbounds, in all dimensions, and the appropriate offset. (gfc_conv_procedure_call); If formal is a pointer, set the last argument of gfc_conv_subref_array_arg to true. * trans.h : Add last argument for gfc_conv_subref_array_arg. * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the new arg of gfc_conv_subref_array_arg to false. * trans-stmt.c (forall_make_variable_temp): The same. 2010-02-05 Paul Thomas PR fortran/42309 * gfortran.dg/subref_array_pointer_4.f90 : New test. From-SVN: r156512 --- gcc/fortran/trans.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/fortran/trans.h') diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h index 27b040a1288..30a775311b2 100644 --- a/gcc/fortran/trans.h +++ b/gcc/fortran/trans.h @@ -315,7 +315,7 @@ int gfc_is_intrinsic_libcall (gfc_expr *); int gfc_conv_procedure_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *, gfc_expr *, tree); -void gfc_conv_subref_array_arg (gfc_se *, gfc_expr *, int, sym_intent); +void gfc_conv_subref_array_arg (gfc_se *, gfc_expr *, int, sym_intent, bool); /* gfc_trans_* shouldn't call push/poplevel, use gfc_push/pop_scope */ -- cgit v1.2.1