aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2023-02-12 16:29:21 +0100
committerThomas Schwinge <thomas@codesourcery.com>2023-02-12 16:29:21 +0100
commit6863cc3a23e8e47b9d8eec31710d5306cafcd65b (patch)
tree44547a7079b1186fef211faf538467e923212ba4 /gcc/fortran
parent7d39b61800112febb6de6ec8a44f116e48a63baa (diff)
parent1060cd2ad00b5174f4f8ef8ca3d8c283e321ffca (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/fortran/decl.cc8
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)
{