trans-decl.c (create_main_function): Remove unused elements to the set_options call.
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 19 Dec 2016 22:29:43 +0000 (22:29 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 19 Dec 2016 22:29:43 +0000 (22:29 +0000)
* 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
gcc/fortran/trans-decl.c
libgfortran/ChangeLog
libgfortran/runtime/compile_options.c

index 8149bf927a57315a777d67ee97b6b9164689ba57..06c2f52ed4243bf51babe4e6a77b77e37045a27d 100644 (file)
@@ -1,3 +1,8 @@
+2016-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-decl.c (create_main_function): Remove unused elements to
+       the set_options call.
+
 2016-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        * trans.h: Remove gfor_fndecl_stop_numeric_f08.
index 403f543a808ffa61a5b01500020e5b8446449df2..9d62d514ff3fbe7a64dc39fc7dad7968646717fe 100644 (file)
@@ -5790,12 +5790,11 @@ create_main_function (tree fndecl)
   {
     tree array_type, array, var;
     vec<constructor_elt, va_gc> *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);
   }
 
index f64dae2ddee5aca8fdba8e19a0970adb2a46c524..2837e2e559f672d7f735539a091e6f348d858632 100644 (file)
@@ -1,3 +1,7 @@
+2016-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * runtime/compile_options.c (set_options): Remove unused elements.
+
 2016-12-19  Janne Blomqvist  <jb@gcc.gnu.org>
 
        * Actually remove files that should have been removed by r243799.
index 71ec56a5a8b81c5855312f21066e8aa6a4cfb3fa..9355e370f0873694b9d6b995e48be00c5af12bb3 100644 (file)
@@ -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