[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