PR fortran/39893
* gfortran.dg/assumed_charlen_dummy.f90: New Test.
2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/39893
fortran/data.c (gfc_assign_data_value): If the lvalue is an
assumed character length entity in a data statement, then
return FAILURE to prevent segmentation fault.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146816
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/39893
+ fortran/data.c (gfc_assign_data_value): If the lvalue is an
+ assumed character length entity in a data statement, then
+ return FAILURE to prevent segmentation fault.
+
2009-04-26 Jakub Jelinek <jakub@redhat.com>
* trans-decl.c: Include pointer-set.h.
}
if (ref || last_ts->type == BT_CHARACTER)
- expr = create_character_intializer (init, last_ts, ref, rvalue);
+ {
+ if (lvalue->ts.cl->length == NULL && !(ref && ref->u.ss.length != NULL))
+ return FAILURE;
+ expr = create_character_intializer (init, last_ts, ref, rvalue);
+ }
else
{
/* Overwriting an existing initializer is non-standard but usually only
+2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/39893
+ * gfortran.dg/assumed_charlen_dummy.f90: New Test.
+
2009-04-26 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/39543
--- /dev/null
+! { dg-do compile }
+! Test the fix for PR fortran/39893.
+! Original testcase provided by Deji Akingunola.
+! Reduced testcase provided by Dominique d'Humieres.
+!
+ SUBROUTINE XAUTOGET()
+ CHARACTER*(*) DICBA ! { dg-error "Entity with assumed character" }
+ DATA DICBA /"CLIP" /
+ RETURN
+ END