This patch fixes various parts of the code to use a larger type than int for the character length. Depending on the situation, HOST_WIDE_INT, size_t, or gfc_charlen_t is appropriate. Regtested on x86_64-pc-linux-gnu and i686-pc-linux-gnu. gcc/fortran/ChangeLog: 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org> PR 78534 PR 83704 * arith.c (gfc_arith_concat): Use size_t for string length. (gfc_compare_string): Likewise. (gfc_compare_with_Cstring): Likewise. * array.c (gfc_resolve_character_array_constructor): Use HOST_WIDE_INT, gfc_mpz_get_hwi. * check.c (gfc_check_fe_runtime_error): Use size_t. * data.c (create_character_initializer): Use HOST_WIDE_INT, gfc_extract_hwi. * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t. (add_init_expr_to_sym): Use HOST_WIDE_INT. * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT, gfc_extract_hwi. (gfc_apply_init): Likewise. * match.h (gfc_set_constant_character_len): Update prototype. * primary.c (match_string_constant): Use size_t. * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT, gfc_mpz_get_hwi. * simplify.c (init_result_expr): Likewise. (gfc_simplify_len_trim): Use size_t. * target-memory.c (gfc_encode_character): Use size_t. (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi. (interpret_array): Use size_t. (gfc_interpret_character): Likewise. * target-memory.h (gfc_encode_character): Update prototype. (gfc_interpret_character): Likewise. (gfc_target_interpret_expr): Likewise. * trans-const.c (gfc_build_string_const): Use size_t for length argument. (gfc_build_wide_string_const): Likewise. * trans-const.h (gfc_build_string_const): Likewise. (gfc_build_wide_string_const): Likewise. 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org> PR 78534 PR 83704 * gfortran.dg/string_1.f90: Remove printing the length. From-SVN: r256944
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ChangeLog | Loading commit data... | |
ChangeLog-2002 | Loading commit data... | |
ChangeLog-2003 | Loading commit data... | |
ChangeLog-2004 | Loading commit data... | |
ChangeLog-2005 | Loading commit data... | |
ChangeLog-2006 | Loading commit data... | |
ChangeLog-2007 | Loading commit data... | |
ChangeLog-2008 | Loading commit data... | |
ChangeLog-2009 | Loading commit data... | |
ChangeLog-2010 | Loading commit data... | |
ChangeLog-2011 | Loading commit data... | |
ChangeLog-2012 | Loading commit data... | |
ChangeLog-2013 | Loading commit data... | |
ChangeLog-2014 | Loading commit data... | |
ChangeLog-2015 | Loading commit data... | |
ChangeLog-2016 | Loading commit data... | |
ChangeLog-2017 | Loading commit data... | |
ChangeLog.ptr | Loading commit data... | |
Make-lang.in | Loading commit data... | |
arith.c | Loading commit data... | |
arith.h | Loading commit data... | |
array.c | Loading commit data... | |
bbt.c | Loading commit data... | |
check.c | Loading commit data... | |
class.c | Loading commit data... | |
config-lang.in | Loading commit data... | |
constructor.c | Loading commit data... | |
constructor.h | Loading commit data... | |
convert.c | Loading commit data... | |
cpp.c | Loading commit data... | |
cpp.h | Loading commit data... | |
data.c | Loading commit data... | |
data.h | Loading commit data... | |
decl.c | Loading commit data... | |
dependency.c | Loading commit data... | |
dependency.h | Loading commit data... | |
dump-parse-tree.c | Loading commit data... | |
error.c | Loading commit data... | |
expr.c | Loading commit data... | |
f95-lang.c | Loading commit data... | |
frontend-passes.c | Loading commit data... | |
gfc-diagnostic.def | Loading commit data... | |
gfc-internals.texi | Loading commit data... | |
gfortran.h | Loading commit data... | |
gfortran.texi | Loading commit data... | |
gfortranspec.c | Loading commit data... | |
interface.c | Loading commit data... | |
intrinsic.c | Loading commit data... | |
intrinsic.h | Loading commit data... | |
intrinsic.texi | Loading commit data... | |
invoke.texi | Loading commit data... | |
io.c | Loading commit data... | |
ioparm.def | Loading commit data... | |
iresolve.c | Loading commit data... | |
iso-c-binding.def | Loading commit data... | |
iso-fortran-env.def | Loading commit data... | |
lang-specs.h | Loading commit data... | |
lang.opt | Loading commit data... | |
libgfortran.h | Loading commit data... | |
match.c | Loading commit data... | |
match.h | Loading commit data... | |
matchexp.c | Loading commit data... | |
mathbuiltins.def | Loading commit data... | |
misc.c | Loading commit data... | |
module.c | Loading commit data... | |
openmp.c | Loading commit data... | |
options.c | Loading commit data... | |
parse.c | Loading commit data... | |
parse.h | Loading commit data... | |
primary.c | Loading commit data... | |
resolve.c | Loading commit data... | |
scanner.c | Loading commit data... | |
scanner.h | Loading commit data... | |
simplify.c | Loading commit data... | |
st.c | Loading commit data... | |
symbol.c | Loading commit data... | |
target-memory.c | Loading commit data... | |
target-memory.h | Loading commit data... | |
trans-array.c | Loading commit data... | |
trans-array.h | Loading commit data... | |
trans-common.c | Loading commit data... | |
trans-const.c | Loading commit data... | |
trans-const.h | Loading commit data... | |
trans-decl.c | Loading commit data... | |
trans-expr.c | Loading commit data... | |
trans-intrinsic.c | Loading commit data... | |
trans-io.c | Loading commit data... | |
trans-openmp.c | Loading commit data... | |
trans-stmt.c | Loading commit data... | |
trans-stmt.h | Loading commit data... | |
trans-types.c | Loading commit data... | |
trans-types.h | Loading commit data... | |
trans.c | Loading commit data... | |
trans.h | Loading commit data... | |
types.def | Loading commit data... |