diff options
author | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-30 05:18:36 +0000 |
---|---|---|
committer | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-30 05:18:36 +0000 |
commit | e8325fb3c59a35082dd72425fd0f70c49bce96f0 (patch) | |
tree | d537dbcb1097607a1a3c621891ffa482aa77638d /gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90 | |
parent | c73d53d51e30f626c550b731051ac76d75249b6d (diff) | |
download | gcc-e8325fb3c59a35082dd72425fd0f70c49bce96f0.tar.gz |
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
Diffstat (limited to 'gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90 b/gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90 new file mode 100644 index 00000000000..08f61b05f6f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90 @@ -0,0 +1,29 @@ +! { dg-do compile } +! This tests the fix for PR24866 in which the reference to the external str, in +! sub_module, would get mixed up with the module procedure, str, thus +! causing an ICE. This is a completed version of the reporter's testcase; ie +! it adds a main program and working subroutines to allow a check for +! correct functioning. +! +! Contributed by Uttam Pawar <uttamp@us.ibm.com> +! + subroutine sub() + print *, "external sub" + end subroutine sub + +module test_module + contains + subroutine sub_module(str) + external :: str + call str () + end subroutine sub_module + subroutine str() + print *, "module str" + end subroutine str +end module test_module + + use test_module + external sub + call sub_module (sub) + call sub_module (str) +end |