On 25.10.21 00:30, Bernhard Reutner-Fischer via Gcc-patches wrote:

From: Bernhard Reutner-Fischer <al...@gcc.gnu.org>

gfc_match_small_int_expr was unused, delete it.
gfc_match_gcc_unroll should use gfc_match_small_literal_int and then
(but wasn't in this patch)
gfc_match_small_int can be deleted since it will be unused.

gcc/fortran/ChangeLog:

      * decl.c (gfc_match_old_kind_spec, set_com_block_bind_c,
      set_verify_bind_c_sym, set_verify_bind_c_com_block,
      get_bind_c_idents, gfc_match_suffix, gfc_get_type_attr_spec,
      (check_extended_derived_type): Make static.
      (gfc_match_gcc_unroll): Add comment.
      * match.c (gfc_match_small_int_expr): Delete definition.
      * match.h (gfc_match_small_int_expr): Delete declaration.
      (gfc_match_name_C, gfc_match_old_kind_spec, set_com_block_bind_c,
      set_verify_bind_c_sym, set_verify_bind_c_com_block,
      get_bind_c_idents, gfc_match_suffix,
      gfc_get_type_attr_spec): Delete declaration.

OK. Thanks for the cleanup.

Tobias

---
  gcc/fortran/decl.c  | 15 ++++++++-------
  gcc/fortran/match.c | 26 --------------------------
  gcc/fortran/match.h |  9 ---------
  3 files changed, 8 insertions(+), 42 deletions(-)

diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 6043e100fbb..1e034d1b344 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -3128,7 +3128,7 @@ cleanup:
     This assumes that the byte size is equal to the kind number for
     non-COMPLEX types, and equal to twice the kind number for COMPLEX.  */

-match
+static match
  gfc_match_old_kind_spec (gfc_typespec *ts)
  {
    match m;
@@ -5867,7 +5867,7 @@ set_binding_label (const char **dest_label, const char 
*sym_name,
  /* Set the status of the given common block as being BIND(C) or not,
     depending on the given parameter, is_bind_c.  */

-void
+static void
  set_com_block_bind_c (gfc_common_head *com_block, int is_bind_c)
  {
    com_block->is_bind_c = is_bind_c;
@@ -6055,7 +6055,7 @@ verify_bind_c_sym (gfc_symbol *tmp_sym, gfc_typespec *ts,
     the type is C interoperable.  Errors are reported by the functions
     used to set/test these fields.  */

-bool
+static bool
  set_verify_bind_c_sym (gfc_symbol *tmp_sym, int num_idents)
  {
    bool retval = true;
@@ -6075,7 +6075,7 @@ set_verify_bind_c_sym (gfc_symbol *tmp_sym, int 
num_idents)
  /* Set the fields marking the given common block as BIND(C), including
     a binding label, and report any errors encountered.  */

-bool
+static bool
  set_verify_bind_c_com_block (gfc_common_head *com_block, int num_idents)
  {
    bool retval = true;
@@ -6095,7 +6095,7 @@ set_verify_bind_c_com_block (gfc_common_head *com_block, 
int num_idents)
  /* Retrieve the list of one or more identifiers that the given bind(c)
     attribute applies to.  */

-bool
+static bool
  get_bind_c_idents (void)
  {
    char name[GFC_MAX_SYMBOL_LEN + 1];
@@ -6804,7 +6804,7 @@ match_result (gfc_symbol *function, gfc_symbol **result)
     clause and BIND(C), either one, or neither.  The draft does not
     require them to come in a specific order.  */

-match
+static match
  gfc_match_suffix (gfc_symbol *sym, gfc_symbol **result)
  {
    match is_bind_c;   /* Found bind(c).  */
@@ -10116,7 +10116,7 @@ check_extended_derived_type (char *name)
     not a handled attribute, and MATCH_YES otherwise.  TODO: More error
     checking on attribute conflicts needs to be done.  */

-match
+static match
  gfc_get_type_attr_spec (symbol_attribute *attr, char *name)
  {
    /* See if the derived type is marked as private.  */
@@ -11794,6 +11794,7 @@ gfc_match_gcc_unroll (void)
  {
    int value;

+  /* FIXME: use gfc_match_small_literal_int instead, delete small_int  */
    if (gfc_match_small_int (&value) == MATCH_YES)
      {
        if (value < 0 || value > USHRT_MAX)
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 91cde55d7a1..5d07f897e45 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -530,32 +530,6 @@ gfc_match_small_int (int *value)
  }


-/* This function is the same as the gfc_match_small_int, except that
-   we're keeping the pointer to the expr.  This function could just be
-   removed and the previously mentioned one modified, though all calls
-   to it would have to be modified then (and there were a number of
-   them).  Return MATCH_ERROR if fail to extract the int; otherwise,
-   return the result of gfc_match_expr().  The expr (if any) that was
-   matched is returned in the parameter expr.  */
-
-match
-gfc_match_small_int_expr (int *value, gfc_expr **expr)
-{
-  match m;
-  int i;
-
-  m = gfc_match_expr (expr);
-  if (m != MATCH_YES)
-    return m;
-
-  if (gfc_extract_int (*expr, &i, 1))
-    m = MATCH_ERROR;
-
-  *value = i;
-  return m;
-}
-
-
  /* Matches a statement label.  Uses gfc_match_small_literal_int() to
     do most of the work.  */

diff --git a/gcc/fortran/match.h b/gcc/fortran/match.h
index eb9459ea99c..e9368db281d 100644
--- a/gcc/fortran/match.h
+++ b/gcc/fortran/match.h
@@ -48,9 +48,7 @@ match gfc_match_eos (void);
  match gfc_match_small_literal_int (int *, int *);
  match gfc_match_st_label (gfc_st_label **);
  match gfc_match_small_int (int *);
-match gfc_match_small_int_expr (int *, gfc_expr **);
  match gfc_match_name (char *);
-match gfc_match_name_C (const char **buffer);
  match gfc_match_symbol (gfc_symbol **, int);
  match gfc_match_sym_tree (gfc_symtree **, int);
  match gfc_match_intrinsic_op (gfc_intrinsic_op *);
@@ -236,7 +234,6 @@ match gfc_match_omp_end_single (void);
  match gfc_match_data (void);
  match gfc_match_null (gfc_expr **);
  match gfc_match_kind_spec (gfc_typespec *, bool);
-match gfc_match_old_kind_spec (gfc_typespec *);
  match gfc_match_decl_type_spec (gfc_typespec *, int);

  match gfc_match_end (gfc_statement *);
@@ -295,14 +292,8 @@ match gfc_match_volatile (void);

  /* Fortran 2003 c interop.
     TODO: some of these should be moved to another file rather than decl.c */
-void set_com_block_bind_c (gfc_common_head *, int);
-bool set_verify_bind_c_sym (gfc_symbol *, int);
-bool set_verify_bind_c_com_block (gfc_common_head *, int);
-bool get_bind_c_idents (void);
  match gfc_match_bind_c_stmt (void);
-match gfc_match_suffix (gfc_symbol *, gfc_symbol **);
  match gfc_match_bind_c (gfc_symbol *, bool);
-match gfc_get_type_attr_spec (symbol_attribute *, char*);

  /* primary.c.  */
  match gfc_match_structure_constructor (gfc_symbol *, gfc_expr **);
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas 
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht 
München, HRB 106955

Reply via email to