2005-10-17 Paul Thomas <pault@gcc.gnu.org>
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Oct 2005 20:52:37 +0000 (20:52 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Oct 2005 20:52:37 +0000 (20:52 +0000)
commitea13b9b7b59a9df6daf09a199be68e6947aa5a41
tree69e1371af15ca815b604fa39a051f202ee0a4764
parent08511dc1e556f24d1f715bd503cc9a76342e183f
2005-10-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/23446
* gfortran.h: Primitive for gfc_is_formal_arg.
* resolve.c(gfc_is_formal_arg): New function to signal across
several function calls that formal argument lists are being
processed.
(resolve_formal_arglist): Set/reset the flag for gfc_is_formal_arg.
*expr.c(check_restricted): Add check, via gfc_is_formal_arg, if
symbol is part of an formal argument declaration.

PR fortran/21459
* decl.c (add_init_expr_to_sym): Make a new character
length for each variable, when the expression is NULL
and link to cl_list.

PR fortran/20866
* match.c (recursive_stmt_fcn): New function that tests if
a statement function resurses through itself or other other
statement functions.
(gfc_match_st_function): Call recursive_stmt_fcn to check
if this is recursive and to raise error if so.

PR fortran/20849
PR fortran/20853
* resolve.c (resolve_symbol): Errors for assumed size arrays
with default initializer and for external objects with an
initializer.

PR fortran/20837
* decl.c (match_attr_spec): Prevent PUBLIC from being used
outside a module.

2005-10-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/23446
* gfortran.dg/host_dummy_index_1.f90: New test.

PR fortran/21459
gfortran.dg/automatic_char_len_2.f90: New test.

PR fortran/20866
gfortran.dg/recursive_statement_functions.f90: New test.

PR fortran/20853
gfortran.dg/assumed_size_dt_dummy.f90: New test.

PR fortran/20849
gfortran.dg/external_initializer.f90: New test.

PR fortran/20837
non_module_public.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105518 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/match.c
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/assumed_size_dt_dummy.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/automatic_char_len_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/external_initializer.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/host_dummy_index_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/non_module_public.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/recursive_statement_functions.f90 [new file with mode: 0644]