]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/fortran/trans.h
re PR fortran/31822 (Missing run-time bound checks for character pointer => target)
authorDaniel Kraft <d@domob.eu>
Thu, 18 Dec 2008 10:05:54 +0000 (11:05 +0100)
committerDaniel Kraft <domob@gcc.gnu.org>
Thu, 18 Dec 2008 10:05:54 +0000 (11:05 +0100)
commitfb5bc08bb353a574a011eaf5b7ae874672e4b289
treec4d520f172c9b4f97852d08d4e5fc12e76b2adde
parentec81df7d4e83ddd28014e07e0eec7fe0e3559deb
re PR fortran/31822 (Missing run-time bound checks for character pointer => target)

2008-12-18  Daniel Kraft  <d@domob.eu>

PR fortran/31822
* gfortran.h (gfc_check_same_strlen): Made public.
* trans.h (gfc_trans_same_strlen_check): Made public.
* check.c (gfc_check_same_strlen): Made public and adapted error
message output to be useful not only for intrinsics.
(gfc_check_merge): Adapt to gfc_check_same_strlen change.
* expr.c (gfc_check_pointer_assign): Use gfc_check_same_strlen for
string length compile-time check.
* trans-expr.c (gfc_trans_pointer_assignment): Add runtime-check for
equal string lengths using gfc_trans_same_strlen_check.
* trans-intrinsic.c (gfc_trans_same_strlen_check): Renamed and made
public from conv_same_strlen_check.
(gfc_conv_intrinsic_merge): Adapted accordingly.

2008-12-18  Daniel Kraft  <d@domob.eu>

PR fortran/31822
* gfortran.dg/char_pointer_assign_2.f90: Updated expected error message
to be more detailed.
* gfortran.dg/char_pointer_assign_4.f90: New test.
* gfortran.dg/char_pointer_assign_5.f90: New test.

From-SVN: r142808
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/trans-expr.c
gcc/fortran/trans-intrinsic.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/char_pointer_assign_2.f90
gcc/testsuite/gfortran.dg/char_pointer_assign_4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/char_pointer_assign_5.f90 [new file with mode: 0644]