From a60658ba410d209fa8d1943af3f12129d4ca4f08 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Sun, 15 Jun 2008 20:00:41 +0000 Subject: [PATCH] re PR fortran/36515 (Integer read from stdin yields a value overflow for a valid integer.) 2008-06-15 Jerry DeLisle PR fortran/36515 * trans-decl.c (gfc_generate_function_code): Add range_check to options array. From-SVN: r136821 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans-decl.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 82ca881e7bb..307af676b8a 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2008-06-15 Jerry DeLisle + + PR fortran/36515 + * trans-decl.c (gfc_generate_function_code): Add range_check to options + array. + 2008-06-15 Ralf Wildenhues * gfc-internals.texi: Expand TABs, drop indentation outside examples. diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 57914ae7a42..686e059ec4e 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -3292,9 +3292,13 @@ gfc_generate_function_code (gfc_namespace * ns) build_int_cst (integer_type_node, flag_bounds_check), array); + array = tree_cons (NULL_TREE, + build_int_cst (integer_type_node, + gfc_option.flag_range_check), array); + array_type = build_array_type (integer_type_node, build_index_type (build_int_cst (NULL_TREE, - 6))); + 7))); array = build_constructor_from_list (array_type, nreverse (array)); TREE_CONSTANT (array) = 1; TREE_STATIC (array) = 1; @@ -3308,7 +3312,7 @@ gfc_generate_function_code (gfc_namespace * ns) var = gfc_build_addr_expr (pvoid_type_node, var); tmp = build_call_expr (gfor_fndecl_set_options, 2, - build_int_cst (integer_type_node, 7), var); + build_int_cst (integer_type_node, 8), var); gfc_add_expr_to_block (&body, tmp); } -- 2.30.2