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: [email protected]
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