https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103693

            Bug ID: 103693
           Summary: [11/12 Regression] ICE in gfc_array_dimen_size(): Bad
                    EXPR_ARRAY expr
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Changed between 20211031 and 20211107 :


$ cat z1.f90
program p
   class(*), parameter :: a(1, 2) = 2
   integer, parameter :: c(b(1):*, b(2):*) = a
end


$ gfortran-12-20211031 -c z1.f90
z1.f90:3:27:

    3 |    integer, parameter :: c(b(1):*, b(2):*) = a
      |                           1
Error: Non-constant lower bound in implied-shape declaration at (1)
z1.f90:2:33:

    2 |    class(*), parameter :: a(1, 2) = 2
      |                                 1
Error: CLASS variable 'a' at (1) cannot have the PARAMETER attribute
z1.f90:2:35:

    2 |    class(*), parameter :: a(1, 2) = 2
      |                                   1
Error: Cannot convert INTEGER(4) to invalid class at (1)


$ gfortran-12-20211212 -c z1.f90
f951: internal compiler error: gfc_array_dimen_size(): Bad EXPR_ARRAY expr
0x799f59 gfc_report_diagnostic
        ../../gcc/fortran/error.c:874
0x79bac7 gfc_internal_error(char const*, ...)
        ../../gcc/fortran/error.c:1494
0x76a27b gfc_array_dimen_size(gfc_expr*, int, __mpz_struct (*) [1])
        ../../gcc/fortran/array.c:2616
0x7a1796 gfc_check_conformance(gfc_expr*, gfc_expr*, char const*, ...)
        ../../gcc/fortran/expr.c:3605
0x7a1d49 gfc_check_assign(gfc_expr*, gfc_expr*, int, bool)
        ../../gcc/fortran/expr.c:3766
0x7a4fe4 gfc_check_assign_symbol(gfc_symbol*, gfc_component*, gfc_expr*)
        ../../gcc/fortran/expr.c:4545
0x7828ee add_init_expr_to_sym
        ../../gcc/fortran/decl.c:2014
0x78c6aa variable_decl
        ../../gcc/fortran/decl.c:3108
0x78c6aa gfc_match_data_decl()
        ../../gcc/fortran/decl.c:6297
0x7f7183 match_word
        ../../gcc/fortran/parse.c:67
0x7f7183 decode_statement
        ../../gcc/fortran/parse.c:378
0x7f8bca next_free
        ../../gcc/fortran/parse.c:1397
0x7f8bca next_statement
        ../../gcc/fortran/parse.c:1629
0x7fa15b parse_spec
        ../../gcc/fortran/parse.c:4168
0x7fd2ac parse_progunit
        ../../gcc/fortran/parse.c:6192
0x7fe971 gfc_parse_file()
        ../../gcc/fortran/parse.c:6737
0x84bfcf gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:216

Reply via email to