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
Started with r12-4967-gbcf3728abe848888.
Gerhard, the issue here is class(*), parameter :: a(1,2) = 2 which we do not yet support, and where there is a duplicate by you already.
GCC 12.1 is being released, retargeting bugs to GCC 12.2.
The master branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>: https://gcc.gnu.org/g:4c233cabbe388a6b8957c1507e129090e9267ceb commit r13-1370-g4c233cabbe388a6b8957c1507e129090e9267ceb Author: Harald Anlauf <anlauf@gmx.de> Date: Wed Jun 29 21:36:17 2022 +0200 Fortran: error recovery on invalid CLASS(), PARAMETER declarations [PR105243] gcc/fortran/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * decl.cc (gfc_match_data_decl): Reject CLASS entity declaration when it is given the PARAMETER attribute. gcc/testsuite/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * gfortran.dg/class_58.f90: Fix test. * gfortran.dg/class_73.f90: New test. Co-authored-by: Steven G. Kargl <kargl@gcc.gnu.org>
The releases/gcc-12 branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>: https://gcc.gnu.org/g:d870ce1a112c0cbdff6172346a4a164503d92573 commit r12-8544-gd870ce1a112c0cbdff6172346a4a164503d92573 Author: Harald Anlauf <anlauf@gmx.de> Date: Wed Jun 29 21:36:17 2022 +0200 Fortran: error recovery on invalid CLASS(), PARAMETER declarations [PR105243] gcc/fortran/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * decl.cc (gfc_match_data_decl): Reject CLASS entity declaration when it is given the PARAMETER attribute. gcc/testsuite/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * gfortran.dg/class_58.f90: Fix test. * gfortran.dg/class_73.f90: New test. Co-authored-by: Steven G. Kargl <kargl@gcc.gnu.org> (cherry picked from commit 4c233cabbe388a6b8957c1507e129090e9267ceb)
The releases/gcc-11 branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>: https://gcc.gnu.org/g:5c293d9abc4b14e987a574fc11666809a2b8b8da commit r11-10107-g5c293d9abc4b14e987a574fc11666809a2b8b8da Author: Harald Anlauf <anlauf@gmx.de> Date: Wed Jun 29 21:36:17 2022 +0200 Fortran: error recovery on invalid CLASS(), PARAMETER declarations [PR105243] gcc/fortran/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * decl.c (gfc_match_data_decl): Reject CLASS entity declaration when it is given the PARAMETER attribute. gcc/testsuite/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * gfortran.dg/class_58.f90: Fix test. * gfortran.dg/class_73.f90: New test. Co-authored-by: Steven G. Kargl <kargl@gcc.gnu.org> (cherry picked from commit 4c233cabbe388a6b8957c1507e129090e9267ceb)
The releases/gcc-10 branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>: https://gcc.gnu.org/g:290147c4c8e3d9d1f13297b511d3a0afb5e952d4 commit r10-10882-g290147c4c8e3d9d1f13297b511d3a0afb5e952d4 Author: Harald Anlauf <anlauf@gmx.de> Date: Wed Jun 29 21:36:17 2022 +0200 Fortran: error recovery on invalid CLASS(), PARAMETER declarations [PR105243] gcc/fortran/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * decl.c (gfc_match_data_decl): Reject CLASS entity declaration when it is given the PARAMETER attribute. gcc/testsuite/ChangeLog: PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * gfortran.dg/class_58.f90: Fix test. * gfortran.dg/class_73.f90: New test. Co-authored-by: Steven G. Kargl <kargl@gcc.gnu.org> (cherry picked from commit 4c233cabbe388a6b8957c1507e129090e9267ceb)
Fixed on all open branches. Closing. Thanks for the report!