[multiple changes]
authorPaul Thomas <pault@gcc.gnu.org>
Thu, 19 Oct 2006 04:51:14 +0000 (04:51 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Thu, 19 Oct 2006 04:51:14 +0000 (04:51 +0000)
commit6b591ec0bab0897c18e94a785d1f5bcb543a42a3
tree0a238ae277da6e261a574bc4c7f6ff8fd90829f2
parent2d142abdf326e15d183330ddca63a734fa56b478
[multiple changes]

2006-10-19  Paul Thomas <pault@gcc.gnu.org>

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  <pault@gcc.gnu.org>

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.

From-SVN: r117879
15 files changed:
gcc/fortran/ChangeLog
gcc/fortran/dump-parse-tree.c
gcc/fortran/gfortran.h
gcc/fortran/resolve.c
gcc/fortran/st.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-openmp.c
gcc/fortran/trans-stmt.c
gcc/fortran/trans-stmt.h
gcc/fortran/trans.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90
gcc/testsuite/gfortran.dg/automatic_default_init_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/result_default_init_1.f90 [new file with mode: 0644]