[Bug fortran/27900] [4.2 and 4.1 only] ICE using intrinsics as arguments
pault at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Jan 6 14:14:00 GMT 2007
------- Comment #13 from pault at gcc dot gnu dot org 2007-01-06 14:13 -------
Subject: Bug 27900
Author: pault
Date: Sat Jan 6 14:13:20 2007
New Revision: 120525
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=120525
Log:
2007-01-06 Paul Thomas <pault@gcc.gnu.org>
Bug fixes from trunk
PR fortran/30034
* resolve.c (resolve_formal_arglist): Exclude the test for
pointers and procedures for subroutine arguments as well as
functions.
PR fortran/30237
* intrinsic.c (remove_nullargs): Do not pass up arguments with
a label. If the actual has a label and the formal has a type
then emit an error.
PR fortran/25135
* module.c (load_generic_interfaces): If the symbol is present
and is not generic it is ambiguous.
PR fortran/23060
* intrinsic.c (compare_actual_formal ): Distinguish argument
list functions from keywords.
* intrinsic.c (sort_actual): If formal is NULL, the presence of
an argument list function actual is an error.
* trans-expr.c (conv_arglist_function) : New function to
implement argument list functions %VAL, %REF and %LOC.
(gfc_conv_function_call): Call it.
* resolve.c (resolve_actual_arglist): Add arg ptype and check
argument list functions.
(resolve_function, resolve_call): Set value of ptype before
calls to resolve_actual_arglist.
* primary.c (match_arg_list_function): New function.
(gfc_match_actual_arglist): Call it before trying for a
keyword argument.
PR fortran/27900
* resolve.c (resolve_actual_arglist): If all else fails and a
procedure actual argument has no type, see if a specific
intrinsic matches.
PR fortran/24325
* resolve.c (resolve_function): If the function reference is
FL_VARIABLE this is an error.
2007-01-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30034
* gfortran.dg/pure_formal_proc_1.f90: New test.
PR fortran/30237
* gfortran.dg/intrinsic_actual_3.f90: New test.
PR fortran/25135
* gfortran.dg/generic_11.f90: New test.
* gfortran.dg/interface_7.f90: Remove name clash between module
name and procedure 'x' referenced in the interface.
PR fortran/23060
* gfortran.dg/c_by_val.c: Called by c_by_val_1.f.
* gfortran.dg/c_by_val_1.f: New test.
* gfortran.dg/c_by_val_2.f: New test.
* gfortran.dg/c_by_val_3.f: New test.
PR fortran/27900
* gfortran.dg/intrinsic_actual_4.f90: New test.
PR fortran/24325
* gfortran.dg/func_decl_3.f90: New test.
Added:
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/c_by_val.c
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/c_by_val_1.f
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/c_by_val_2.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/c_by_val_3.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/func_decl_3.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/generic_11.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_3.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_4.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/pure_formal_proc_1.f90
Modified:
branches/gcc-4_2-branch/gcc/fortran/ChangeLog
branches/gcc-4_2-branch/gcc/fortran/interface.c
branches/gcc-4_2-branch/gcc/fortran/intrinsic.c
branches/gcc-4_2-branch/gcc/fortran/module.c
branches/gcc-4_2-branch/gcc/fortran/primary.c
branches/gcc-4_2-branch/gcc/fortran/resolve.c
branches/gcc-4_2-branch/gcc/fortran/trans-expr.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/dummy_procedure_1.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/interface_7.f90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27900
More information about the Gcc-bugs
mailing list