diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2023-02-12 16:29:21 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2023-02-12 16:29:21 +0100 |
commit | 6863cc3a23e8e47b9d8eec31710d5306cafcd65b (patch) | |
tree | 44547a7079b1186fef211faf538467e923212ba4 /gcc/fortran | |
parent | 7d39b61800112febb6de6ec8a44f116e48a63baa (diff) | |
parent | 1060cd2ad00b5174f4f8ef8ca3d8c283e321ffca (diff) | |
download | gcc-6863cc3a23e8e47b9d8eec31710d5306cafcd65b.zip gcc-6863cc3a23e8e47b9d8eec31710d5306cafcd65b.tar.gz gcc-6863cc3a23e8e47b9d8eec31710d5306cafcd65b.tar.bz2 |
Merge commit '02c031088ac0bbf716aec52e027d615b7a5a572b^' into HEAD
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/decl.cc | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index ed728eb..8ca9af2 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2022-12-18 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107397 + * decl.cc (add_init_expr_to_sym): Add check with new error message. + 2022-12-14 Julian Brown <julian@codesourcery.com> PR fortran/107214 diff --git a/gcc/fortran/decl.cc b/gcc/fortran/decl.cc index 0f9b2ce..1562dc2 100644 --- a/gcc/fortran/decl.cc +++ b/gcc/fortran/decl.cc @@ -2221,6 +2221,14 @@ add_init_expr_to_sym (const char *name, gfc_expr **initp, locus *var_locus) sym->ts.f90_type = init->ts.f90_type; } + /* Catch the case: type(t), parameter :: x = z'1'. */ + if (sym->ts.type == BT_DERIVED && init->ts.type == BT_BOZ) + { + gfc_error ("Entity %qs at %L is incompatible with a BOZ " + "literal constant", name, &sym->declared_at); + return false; + } + /* Add initializer. Make sure we keep the ranks sane. */ if (sym->attr.dimension && init->rank == 0) { |