[Bug fortran/32095] Accepts invalid character(len(a)),dimension(1) :: a

domob at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Aug 22 07:16:00 GMT 2008



------- Comment #4 from domob at gcc dot gnu dot org  2008-08-22 07:14 -------
Subject: Bug 32095

Author: domob
Date: Fri Aug 22 07:13:25 2008
New Revision: 139425

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139425
Log:
2008-08-22  Daniel Kraft  <d@domob.eu>

        PR fortran/32095
        PR fortran/34228
        * gfortran.h (in_prefix): New global.
        (gfc_check_symbol_typed), (gfc_check_expr_typed): New methods.
        * array.c (match_array_element_spec): Check that bounds-expressions
        don't have symbols not-yet-typed in them.
        * decl.c (var_element): Check that variable used is already typed.
        (char_len_param_value): Check that expression does not contain
        not-yet-typed symbols.
        (in_prefix): New global.
        (gfc_match_prefix): Record using `in_prefix' if we're at the moment
        parsing a prefix or not.
        * expr.c (gfc_expr_check_typed): New method.
        * parse.c (verify_st_order): New argument to disable error output.
        (check_function_result_typed): New helper method.
        (parse_spec): Check that the function-result declaration, if given in
        a prefix, contains no not-yet-typed symbols when the IMPLICIT rules are
        parsed.
        * symbol.c (gfc_check_symbol_typed): Check that a symbol already has
        a type associated to it, otherwise use the IMPLICIT rules or signal
        an error.

2008-08-22  Daniel Kraft  <d@domob.eu>

        PR fortran/32095
        PR fortran/34228
        * gfortran.dg/used_before_typed_1.f90: New test.
        * gfortran.dg/used_before_typed_2.f90: New test.
        * gfortran.dg/used_before_typed_3.f90: New test.
        * gfortran.dg/array_constructor_26.f03: Add -std=gnu to not enable
        legacy-behaviour for the new check.
        * gfortran.dg/array_constructor_27.f03: Ditto.
        * gfortran.dg/blockdata_4.f90: Ditto.
        * gfortran.dg/bound_2.f90: Reordered declarations to satisfy the check.
        * gfortran.dg/result_in_spec_1.f90: Ditto.
        * gfortran.dg/argument_checking_7.f90: Adapted expected error messages.


Added:
    trunk/gcc/testsuite/gfortran.dg/used_before_typed_1.f90
    trunk/gcc/testsuite/gfortran.dg/used_before_typed_2.f90
    trunk/gcc/testsuite/gfortran.dg/used_before_typed_3.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/array.c
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/parse.c
    trunk/gcc/fortran/symbol.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/argument_checking_7.f90
    trunk/gcc/testsuite/gfortran.dg/array_constructor_26.f03
    trunk/gcc/testsuite/gfortran.dg/array_constructor_27.f03
    trunk/gcc/testsuite/gfortran.dg/blockdata_4.f90
    trunk/gcc/testsuite/gfortran.dg/bound_2.f90
    trunk/gcc/testsuite/gfortran.dg/result_in_spec_1.f90


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32095



More information about the Gcc-bugs mailing list