mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-28 06:14:10 +08:00
re PR fortran/50409 (SIGSEGV in gfc_simplify_expr)
PR fortran/50409 * expr.c (gfc_simplify_expr): Substrings can't have negative length. * gcc/testsuite/gfortran.dg/string_5.f90: Improve testcase. From-SVN: r181181
This commit is contained in:
parent
6ef982714c
commit
b8bc0ff76b
@ -1,3 +1,9 @@
|
|||||||
|
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/50409
|
||||||
|
* expr.c (gfc_simplify_expr): Substrings can't have negative
|
||||||
|
length.
|
||||||
|
|
||||||
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/50334
|
PR fortran/50334
|
||||||
|
@ -1853,8 +1853,8 @@ gfc_simplify_expr (gfc_expr *p, int type)
|
|||||||
if (p->ref && p->ref->u.ss.end)
|
if (p->ref && p->ref->u.ss.end)
|
||||||
gfc_extract_int (p->ref->u.ss.end, &end);
|
gfc_extract_int (p->ref->u.ss.end, &end);
|
||||||
|
|
||||||
if (end < 0)
|
if (end < start)
|
||||||
end = 0;
|
end = start;
|
||||||
|
|
||||||
s = gfc_get_wide_string (end - start + 2);
|
s = gfc_get_wide_string (end - start + 2);
|
||||||
memcpy (s, p->value.character.string + start,
|
memcpy (s, p->value.character.string + start,
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/50409
|
||||||
|
* gcc/testsuite/gfortran.dg/string_5.f90: Improve testcase.
|
||||||
|
|
||||||
2011-10-23 Jason Merrill <jason@redhat.com>
|
2011-10-23 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
PR c++/50835
|
PR c++/50835
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
! { dg-do compile }
|
! { dg-do compile }
|
||||||
|
program test
|
||||||
|
|
||||||
! PR fortran/48876 - this used to segfault.
|
! PR fortran/48876 - this used to segfault.
|
||||||
! Test case contributed by mhp77 (a) gmx.at.
|
! Test case contributed by mhp77 (a) gmx.at.
|
||||||
program test
|
|
||||||
character :: string = "string"( : -1 )
|
character :: string = "string"( : -1 )
|
||||||
|
|
||||||
|
! PR fortran/50409
|
||||||
|
character v(3)
|
||||||
|
v = (/ ('123'(i:1), i = 3, 1, -1) /)
|
||||||
|
print *, v
|
||||||
|
|
||||||
end program test
|
end program test
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user