From 75b07bb45a8a4e20557744873f98681e2d17db1f Mon Sep 17 00:00:00 2001 From: Francois-Xavier Coudert Date: Mon, 19 Dec 2016 22:29:43 +0000 Subject: [PATCH] trans-decl.c (create_main_function): Remove unused elements to the set_options call. * trans-decl.c (create_main_function): Remove unused elements to the set_options call. * runtime/compile_options.c (set_options): Remove unused elements. From-SVN: r243814 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/trans-decl.c | 29 +++++++-------------------- libgfortran/ChangeLog | 4 ++++ libgfortran/runtime/compile_options.c | 17 +++++----------- 4 files changed, 21 insertions(+), 34 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8149bf927a5..06c2f52ed42 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2016-12-19 Francois-Xavier Coudert + + * trans-decl.c (create_main_function): Remove unused elements to + the set_options call. + 2016-12-19 Francois-Xavier Coudert * trans.h: Remove gfor_fndecl_stop_numeric_f08. diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 403f543a808..9d62d514ff3 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -5790,12 +5790,11 @@ create_main_function (tree fndecl) { tree array_type, array, var; vec *v = NULL; + static const int noptions = 7; - /* Passing a new option to the library requires four modifications: - + add it to the tree_cons list below - + change the array size in the call to build_array_type - + change the first argument to the library call - gfor_fndecl_set_options + /* Passing a new option to the library requires three modifications: + + add it to the tree_cons list below + + change the noptions variable above + modify the library (runtime/compile_options.c)! */ CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, @@ -5806,12 +5805,6 @@ create_main_function (tree fndecl) gfc_option.allow_std)); CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, build_int_cst (integer_type_node, pedantic)); - /* TODO: This is the old -fdump-core option, which is unused but - passed due to ABI compatibility; remove when bumping the - library ABI. */ - CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, - build_int_cst (integer_type_node, - 0)); CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, build_int_cst (integer_type_node, flag_backtrace)); CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, @@ -5820,26 +5813,18 @@ create_main_function (tree fndecl) build_int_cst (integer_type_node, (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS))); - /* TODO: This is the -frange-check option, which no longer affects - library behavior; when bumping the library ABI this slot can be - reused for something else. As it is the last element in the - array, we can instead leave it out altogether. */ - CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, - build_int_cst (integer_type_node, 0)); CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, build_int_cst (integer_type_node, gfc_option.fpe_summary)); - array_type = build_array_type (integer_type_node, - build_index_type (size_int (8))); + array_type = build_array_type_nelts (integer_type_node, noptions); array = build_constructor (array_type, v); TREE_CONSTANT (array) = 1; TREE_STATIC (array) = 1; /* Create a static variable to hold the jump table. */ var = build_decl (input_location, VAR_DECL, - create_tmp_var_name ("options"), - array_type); + create_tmp_var_name ("options"), array_type); DECL_ARTIFICIAL (var) = 1; DECL_IGNORED_P (var) = 1; TREE_CONSTANT (var) = 1; @@ -5851,7 +5836,7 @@ create_main_function (tree fndecl) tmp = build_call_expr_loc (input_location, gfor_fndecl_set_options, 2, - build_int_cst (integer_type_node, 9), var); + build_int_cst (integer_type_node, noptions), var); gfc_add_expr_to_block (&body, tmp); } diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index f64dae2ddee..2837e2e559f 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,7 @@ +2016-12-19 Francois-Xavier Coudert + + * runtime/compile_options.c (set_options): Remove unused elements. + 2016-12-19 Janne Blomqvist * Actually remove files that should have been removed by r243799. diff --git a/libgfortran/runtime/compile_options.c b/libgfortran/runtime/compile_options.c index 71ec56a5a8b..9355e370f08 100644 --- a/libgfortran/runtime/compile_options.c +++ b/libgfortran/runtime/compile_options.c @@ -151,21 +151,14 @@ set_options (int num, int options[]) compile_options.allow_std = options[1]; if (num >= 3) compile_options.pedantic = options[2]; - /* options[3] is the removed -fdump-core option. Its place in the - options array is retained due to ABI compatibility. Remove when - bumping the library ABI. */ + if (num >= 4) + compile_options.backtrace = options[3]; if (num >= 5) - compile_options.backtrace = options[4]; + compile_options.sign_zero = options[4]; if (num >= 6) - compile_options.sign_zero = options[5]; + compile_options.bounds_check = options[5]; if (num >= 7) - compile_options.bounds_check = options[6]; - /* options[7] is the -frange-check option, which no longer affects - the library behavior; range checking is now always done when - parsing integers. Its place in the options array is retained due - to ABI compatibility. Remove when bumping the library ABI. */ - if (num >= 9) - compile_options.fpe_summary = options[8]; + compile_options.fpe_summary = options[6]; #ifndef LIBGFOR_MINIMAL /* If backtrace is required, we set signal handlers on the POSIX -- 2.30.2