2006-08-30 Paul Thomas <pault@gcc.gnu.org>
commite8325fb3c59a35082dd72425fd0f70c49bce96f0
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Aug 2006 05:18:36 +0000 (30 05:18 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Aug 2006 05:18:36 +0000 (30 05:18 +0000)
treed537dbcb1097607a1a3c621891ffa482aa77638d
parentc73d53d51e30f626c550b731051ac76d75249b6d
2006-08-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/28885
REGRESSION FIX
* trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
declaration is retained for INTENT(OUT) arguments.

PR fortran/28873
REGRESSION FIX
PR fortran/20067
* resolve.c (resolve_generic_f): Make error message more
comprehensible.
(resolve_generic_s): Restructure search for specific procedures
to be similar to resolve_generic_f and change to similar error
message.  Ensure that symbol reference is refreshed, in case
the search produces a NULL.
(resolve_specific_s): Restructure search, as above and as
resolve_specific_f. Ensure that symbol reference is refreshed,
in case the search produces a NULL.

PR fortran/25077
PR fortran/25102
* interface.c (check_operator_interface): Throw error if the
interface assignment tries to change intrinsic type assigments
or has less than two arguments.  Also, it is an error if an
interface operator contains an alternate return.

PR fortran/24866
* parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
if it is a dummy in the contained namespace.

2006-08-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/28885
* gfortran.dg/aliasing_dummy_2.f90: New test.

PR fortran/20067
* gfortran.dg/generic_5.f90: Change error message.

PR fortran/28873
* gfortran.dg/generic_6.f90: New test.

PR fortran/25077
* gfortran.dg/redefined_intrinsic_assignment.f90: New test.

PR fortran/25102
* gfortran.dg/invalid_interface_assignment.f90: New test.

PR fortran/24866
* gfortran.dg/module_proc_external_dummy.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116578 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/fortran/ChangeLog
gcc/fortran/interface.c
gcc/fortran/parse.c
gcc/fortran/resolve.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/aliasing_dummy_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/generic_5.f90
gcc/testsuite/gfortran.dg/generic_6.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/invalid_interface_assignment.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/redefined_intrinsic_assignment.f90 [new file with mode: 0644]