From b9cd8c56e3d647692ed17c6d3ad6a49c47592d50 Mon Sep 17 00:00:00 2001 From: pault Date: Thu, 19 Oct 2006 04:51:14 +0000 Subject: 2006-10-19 Paul Thomas PR fortran/29216 PR fortran/29314 * gfortran.h : Add EXEC_INIT_ASSIGN. * dump-parse-tree.c (gfc_show_code_node): The same. * trans-openmp.c (gfc_trans_omp_array_reduction): Set new argument for gfc_trans_assignment to false. * trans-stmt.c (gfc_trans_forall_1): The same. * trans-expr.c (gfc_conv_function_call, gfc_trans_assign, gfc_trans_arrayfunc_assign, gfc_trans_assignment): The same. In the latter function, use the new flag to stop the checking of the lhs for deallocation. (gfc_trans_init_assign): New function. * trans-stmt.h : Add prototype for gfc_trans_init_assign. * trans.c (gfc_trans_code): Implement EXEC_INIT_ASSIGN. * trans.h : Add new boolean argument to the prototype of gfc_trans_assignment. * resolve.c (resolve_allocate_exp): Replace EXEC_ASSIGN by EXEC_INIT_ASSIGN. (resolve_code): EXEC_INIT_ASSIGN does not need resolution. (apply_default_init): New function. (resolve_symbol): Call it for derived types that become defined but which do not already have an initialization expression.. * st.c (gfc_free_statement): Include EXEC_INIT_ASSIGN. 2006-10-19 Paul Thomas PR fortran/29216 * gfortran.dg/result_default_init_1.f90: New test. PR fortran/29314 * gfortran.dg/automatic_default_init_1.f90: New test. * gfortran.dg/alloc_comp_basics_1.f90: Reduce deallocate count from 38 to 33. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117879 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/dump-parse-tree.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/fortran/dump-parse-tree.c') diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c index 66a173cc21e..8a7eab5262a 100644 --- a/gcc/fortran/dump-parse-tree.c +++ b/gcc/fortran/dump-parse-tree.c @@ -1021,6 +1021,7 @@ gfc_show_code_node (int level, gfc_code * c) gfc_status ("ENTRY %s", c->ext.entry->sym->name); break; + case EXEC_INIT_ASSIGN: case EXEC_ASSIGN: gfc_status ("ASSIGN "); gfc_show_expr (c->expr); -- cgit v1.2.3