re PR fortran/29713 (ICE in gfc_set_constant_character_len decl.c:762)

PR fortran/29713

	* expr.c (gfc_simplify_expr): Correct memory allocation.

	* gfortran.dg/pr29713.f90: New test.

From-SVN: r118483
This commit is contained in:
Francois-Xavier Coudert 2006-11-04 21:58:26 +01:00 committed by François-Xavier Coudert
parent c5289e454b
commit d6910bb551
4 changed files with 18 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2006-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR fortran/29713
* expr.c (gfc_simplify_expr): Correct memory allocation.
2006-11-02 Brooks Moses <brooks.moses@codesourcery.com>
* error.c (show_locus): Remove "In file" from error messages.

View File

@ -1436,7 +1436,7 @@ gfc_simplify_expr (gfc_expr * p, int type)
gfc_extract_int (p->ref->u.ss.start, &start);
start--; /* Convert from one-based to zero-based. */
gfc_extract_int (p->ref->u.ss.end, &end);
s = gfc_getmem (end - start + 1);
s = gfc_getmem (end - start + 2);
memcpy (s, p->value.character.string + start, end - start);
s[end-start+1] = '\0'; /* TODO: C-style string for debugging. */
gfc_free (p->value.character.string);

View File

@ -1,3 +1,8 @@
2006-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/29713
* gfortran.dg/pr29713.f90: New test.
2006-11-03 J"orn Rennecke <joern.rennecke@st.com>
* testsuite/gcc.c-torture/execute/arith-rand-ll.c:
@ -6,8 +11,7 @@
2006-11-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/27895
* gcc/testsuite/gfortran.dg/zero_sized_1.f90: Uncomment checks
for RESHAPE.
* gfortran.dg/zero_sized_1.f90: Uncomment checks for RESHAPE.
2006-11-02 Brooks Moses <brooks.moses@codesourcery.com>

View File

@ -0,0 +1,6 @@
! { dg-do compile }
character*2 a
character*4 b
parameter (a="12")
parameter (b = a(1:2))
end