public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH,Fortran 0/7] delete some unused decls, make static
@ 2021-10-24 22:30 Bernhard Reutner-Fischer
  2021-10-24 22:30 ` [PATCH,Fortran 1/7] Fortran: make some trans* functions static Bernhard Reutner-Fischer
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran

Hi!

Quickly skimming through the frontend headers.
There are a couple of declarations for functions that do not have
definitions. And there are a couple of functions that can be static.

Notes i took while at it / TODOs:

- get rid of VTAB_GET_FIELD_GEN and unused extern decls
- The last block of gfc_trans_vla_one_sizepos() could simply use
  gfc_evaluate_now_function_scope(). Passing down unshared val of course.
- trans-expr.c has one use of gfc_evaluate_now_loc() but should simply use
  gfc_evaluate_now() there; Calling ...now_loc(input_location) is superfluous
- s/mane/name/;# in git grep -w mane gcc/fortran/
- delete gfc_match_small_int, use gfc_match_small_literal_int instead
- move gfc_match_null definition up before first user, make it static
  and delete decl from match.h
- gfc_cpp_add_include_path_after move up, make static, rm external decl
- gfc_walk_array_ref move up, make static, rm external decl
- delete unused gfc_copy_only_alloc_comp ?
- delete unused gfc_conv_descriptor_attribute ?
- gfc_build_nan str arg is "" always. Delete parameter and handling?
- delete unused gfc_simplify_get_team or wire it up in intrinsics,
  get_team handling (instead of the NULL..)

Anyone who does coarrays might want to fill in the missing get_team()
simplify and add an appropriate test. That's the only thing that i will
not do as i once was more into MPI and verbs so won't ever do coarrays ;)

Bootstraps fine, regression tests running over night.
Ok for trunk if it passes?

thanks,

Bernhard Reutner-Fischer (7):
  Fortran: make some trans* functions static
  Fortran: make some match* functions static
  Fortran: make some constructor* functions static
  Fortran: make some trans-array functions static
  Fortran: Delete unused decl in trans-stmt.h
  Fortran: Delete unused decl in trans-types.h
  Fortran: Delete unused decl in intrinsic.h

 gcc/fortran/constructor.c | 20 ++------------------
 gcc/fortran/constructor.h | 10 ----------
 gcc/fortran/decl.c        | 15 ++++++++-------
 gcc/fortran/expr.c        |  2 +-
 gcc/fortran/gfortran.h    |  1 -
 gcc/fortran/intrinsic.h   |  4 ----
 gcc/fortran/match.c       | 28 +---------------------------
 gcc/fortran/match.h       | 10 ----------
 gcc/fortran/scanner.c     |  4 ++--
 gcc/fortran/trans-array.c |  2 +-
 gcc/fortran/trans-array.h |  6 ------
 gcc/fortran/trans-expr.c  | 10 +++++-----
 gcc/fortran/trans-stmt.h  |  1 -
 gcc/fortran/trans-types.c | 25 +++----------------------
 gcc/fortran/trans-types.h |  4 ----
 gcc/fortran/trans.c       |  1 -
 gcc/fortran/trans.h       | 11 -----------
 17 files changed, 23 insertions(+), 131 deletions(-)

-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH,Fortran 1/7] Fortran: make some trans* functions static
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
@ 2021-10-24 22:30 ` Bernhard Reutner-Fischer
  2021-10-25  5:47   ` Thomas Koenig
  2021-10-26  9:34   ` Tobias Burnus
  2021-10-24 22:30 ` [PATCH,Fortran 2/7] Fortran: make some match* " Bernhard Reutner-Fischer
                   ` (8 subsequent siblings)
  9 siblings, 2 replies; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer, Bernhard Reutner-Fischer

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

This makes some trans* functions static and deletes declarations of
functions that either do not exist anymore like gfc_get_function_decl
or that are unused like gfc_check_any_c_kind.

gcc/fortran/ChangeLog:

	* expr.c (is_non_empty_structure_constructor): Make static.
	* gfortran.h (gfc_check_any_c_kind): Delete.
	* match.c (gfc_match_label): Make static.
	* match.h (gfc_match_label): Delete declaration.
	* scanner.c (file_changes_cur, file_changes_count,
	file_changes_allocated): Make static.
	* trans-expr.c (gfc_get_character_len): Make static.
	(gfc_class_len_or_zero_get): Make static.
	(VTAB_GET_FIELD_GEN): Undefine.
	(gfc_get_class_array_ref): Make static.
	(gfc_finish_interface_mapping): Make static.
	* trans-types.c (gfc_check_any_c_kind): Delete.
	(pfunc_type_node, dtype_type_node, gfc_get_ppc_type): Make static.
	* trans-types.h (gfc_get_ppc_type): Delete declaration.
	* trans.c (gfc_msg_wrong_return): Delete.
	* trans.h (gfc_class_len_or_zero_get, gfc_class_vtab_extends_get,
	gfc_vptr_extends_get, gfc_get_class_array_ref, gfc_get_character_len,
	gfc_finish_interface_mapping, gfc_msg_wrong_return,
	gfc_get_function_decl): Delete declaration.
---
 gcc/fortran/expr.c        |  2 +-
 gcc/fortran/gfortran.h    |  1 -
 gcc/fortran/match.c       |  2 +-
 gcc/fortran/match.h       |  1 -
 gcc/fortran/scanner.c     |  4 ++--
 gcc/fortran/trans-expr.c  | 10 +++++-----
 gcc/fortran/trans-types.c | 25 +++----------------------
 gcc/fortran/trans-types.h |  1 -
 gcc/fortran/trans.c       |  1 -
 gcc/fortran/trans.h       | 11 -----------
 10 files changed, 12 insertions(+), 46 deletions(-)

diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index b19d3a26c60..4dea840e348 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -4817,7 +4817,7 @@ gfc_apply_init (gfc_typespec *ts, symbol_attribute *attr, gfc_expr *init)
 /* Check whether an expression is a structure constructor and whether it has
    other values than NULL.  */
 
-bool
+static bool
 is_non_empty_structure_constructor (gfc_expr * e)
 {
   if (e->expr_type != EXPR_STRUCTURE)
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 66192c07d8c..f7662c59a5d 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -3284,7 +3284,6 @@ bool gfc_check_character_range (gfc_char_t, int);
 extern bool gfc_seen_div0;
 
 /* trans-types.c */
-bool gfc_check_any_c_kind (gfc_typespec *);
 int gfc_validate_kind (bt, int, bool);
 int gfc_get_int_kind_from_width_isofortranenv (int size);
 int gfc_get_real_kind_from_width_isofortranenv (int size);
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 53a575e616e..91cde55d7a1 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -599,7 +599,7 @@ cleanup:
    it.  We also make sure the symbol does not refer to another
    (active) block.  A matched label is pointed to by gfc_new_block.  */
 
-match
+static match
 gfc_match_label (void)
 {
   char name[GFC_MAX_SYMBOL_LEN + 1];
diff --git a/gcc/fortran/match.h b/gcc/fortran/match.h
index 21e94f79d95..eb9459ea99c 100644
--- a/gcc/fortran/match.h
+++ b/gcc/fortran/match.h
@@ -47,7 +47,6 @@ match gfc_match_space (void);
 match gfc_match_eos (void);
 match gfc_match_small_literal_int (int *, int *);
 match gfc_match_st_label (gfc_st_label **);
-match gfc_match_label (void);
 match gfc_match_small_int (int *);
 match gfc_match_small_int_expr (int *, gfc_expr **);
 match gfc_match_name (char *);
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 5a450692ba3..69b81ab97f8 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -78,8 +78,8 @@ static struct gfc_file_change
   gfc_linebuf *lb;
   int line;
 } *file_changes;
-size_t file_changes_cur, file_changes_count;
-size_t file_changes_allocated;
+static size_t file_changes_cur, file_changes_count;
+static size_t file_changes_allocated;
 
 static gfc_char_t *last_error_char;
 
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 2d7f9e0fb91..e7aec3845d3 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -45,7 +45,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Calculate the number of characters in a string.  */
 
-tree
+static tree
 gfc_get_character_len (tree type)
 {
   tree len;
@@ -278,7 +278,7 @@ gfc_class_len_get (tree decl)
 /* Try to get the _len component of a class.  When the class is not unlimited
    poly, i.e. no _len field exists, then return a zero node.  */
 
-tree
+static tree
 gfc_class_len_or_zero_get (tree decl)
 {
   tree len;
@@ -382,7 +382,7 @@ VTAB_GET_FIELD_GEN (def_init, VTABLE_DEF_INIT_FIELD)
 VTAB_GET_FIELD_GEN (copy, VTABLE_COPY_FIELD)
 VTAB_GET_FIELD_GEN (final, VTABLE_FINAL_FIELD)
 VTAB_GET_FIELD_GEN (deallocate, VTABLE_DEALLOCATE_FIELD)
-
+#undef VTAB_GET_FIELD_GEN
 
 /* The size field is returned as an array index type.  Therefore treat
    it and only it specially.  */
@@ -1367,7 +1367,7 @@ gfc_conv_class_to_class (gfc_se *parmse, gfc_expr *e, gfc_typespec class_ts,
 /* Given a class array declaration and an index, returns the address
    of the referenced element.  */
 
-tree
+static tree
 gfc_get_class_array_ref (tree index, tree class_decl, tree data_comp,
 			 bool unlimited)
 {
@@ -4531,7 +4531,7 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping,
    the length of each argument, adding any initialization code to PRE and
    any finalization code to POST.  */
 
-void
+static void
 gfc_finish_interface_mapping (gfc_interface_mapping * mapping,
 			      stmtblock_t * pre, stmtblock_t * post)
 {
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 42778067dbe..947ab5a099b 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -61,7 +61,7 @@ tree pvoid_type_node;
 tree prvoid_type_node;
 tree ppvoid_type_node;
 tree pchar_type_node;
-tree pfunc_type_node;
+static tree pfunc_type_node;
 
 tree logical_type_node;
 tree logical_true_node;
@@ -133,7 +133,7 @@ int gfc_size_kind;
 int gfc_numeric_storage_size;
 int gfc_character_storage_size;
 
-tree dtype_type_node = NULL_TREE;
+static tree dtype_type_node = NULL_TREE;
 
 
 /* Build the dtype_type_node if necessary.  */
@@ -175,25 +175,6 @@ tree get_dtype_type_node (void)
   return dtype_type_node;
 }
 
-bool
-gfc_check_any_c_kind (gfc_typespec *ts)
-{
-  int i;
-
-  for (i = 0; i < ISOCBINDING_NUMBER; i++)
-    {
-      /* Check for any C interoperable kind for the given type/kind in ts.
-         This can be used after verify_c_interop to make sure that the
-         Fortran kind being used exists in at least some form for C.  */
-      if (c_interop_kinds_table[i].f90_type == ts->type &&
-          c_interop_kinds_table[i].value == ts->kind)
-        return true;
-    }
-
-  return false;
-}
-
-
 static int
 get_real_kind_from_node (tree type)
 {
@@ -2470,7 +2451,7 @@ gfc_copy_dt_decls_ifequal (gfc_symbol *from, gfc_symbol *to,
 
 /* Build a tree node for a procedure pointer component.  */
 
-tree
+static tree
 gfc_get_ppc_type (gfc_component* c)
 {
   tree t;
diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
index 15d206b9443..1b43503092b 100644
--- a/gcc/fortran/trans-types.h
+++ b/gcc/fortran/trans-types.h
@@ -117,7 +117,6 @@ int gfc_is_nodesc_array (gfc_symbol *);
 tree gfc_get_dtype_rank_type (int, tree);
 tree gfc_get_dtype (tree, int *rank = NULL);
 
-tree gfc_get_ppc_type (gfc_component *);
 tree gfc_get_caf_vector_type (int dim);
 tree gfc_get_caf_reference_type ();
 
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index 22f267645e8..a377d0eeb24 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -45,7 +45,6 @@ along with GCC; see the file COPYING3.  If not see
 static gfc_file *gfc_current_backend_file;
 
 const char gfc_msg_fault[] = N_("Array reference out of bounds");
-const char gfc_msg_wrong_return[] = N_("Incorrect function return value");
 
 
 /* Return a location_t suitable for 'tree' for a gfortran locus.  The way the
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index 7ec4ca53a2c..0d4eed20d20 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -425,7 +425,6 @@ tree gfc_class_set_static_fields (tree, tree, tree);
 tree gfc_class_data_get (tree);
 tree gfc_class_vptr_get (tree);
 tree gfc_class_len_get (tree);
-tree gfc_class_len_or_zero_get (tree);
 tree gfc_resize_class_size_with_len (stmtblock_t *, tree, tree);
 gfc_expr * gfc_find_and_cut_at_last_class_ref (gfc_expr *, bool is_mold = false,
 					       gfc_typespec **ts = NULL);
@@ -433,14 +432,12 @@ gfc_expr * gfc_find_and_cut_at_last_class_ref (gfc_expr *, bool is_mold = false,
    available.  */
 tree gfc_class_vtab_hash_get (tree);
 tree gfc_class_vtab_size_get (tree);
-tree gfc_class_vtab_extends_get (tree);
 tree gfc_class_vtab_def_init_get (tree);
 tree gfc_class_vtab_copy_get (tree);
 tree gfc_class_vtab_final_get (tree);
 /* Get an accessor to the vtab's * field, when a vptr handle is present.  */
 tree gfc_vptr_hash_get (tree);
 tree gfc_vptr_size_get (tree);
-tree gfc_vptr_extends_get (tree);
 tree gfc_vptr_def_init_get (tree);
 tree gfc_vptr_copy_get (tree);
 tree gfc_vptr_final_get (tree);
@@ -450,7 +447,6 @@ void gfc_reset_len (stmtblock_t *, gfc_expr *);
 tree gfc_get_class_from_gfc_expr (gfc_expr *);
 tree gfc_get_class_from_expr (tree);
 tree gfc_get_vptr_from_expr (tree);
-tree gfc_get_class_array_ref (tree, tree, tree, bool);
 tree gfc_copy_class_to_class (tree, tree, tree, bool);
 bool gfc_add_finalizer_call (stmtblock_t *, gfc_expr *);
 bool gfc_add_comp_finalizer_call (stmtblock_t *, tree, gfc_component *, bool);
@@ -509,7 +505,6 @@ void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree);
 
 
 /* trans-expr.c */
-tree gfc_get_character_len (tree);
 tree gfc_get_character_len_in_bytes (tree);
 tree gfc_conv_scalar_to_descriptor (gfc_se *, tree, symbol_attribute);
 tree gfc_get_ultimate_alloc_ptr_comps_caf_token (gfc_se *, gfc_expr *);
@@ -621,9 +616,6 @@ tree gfc_get_extern_function_decl (gfc_symbol *,
 				   gfc_actual_arglist *args = NULL,
 				   const char *fnspec = NULL);
 
-/* Return the decl for a function.  */
-tree gfc_get_function_decl (gfc_symbol *);
-
 /* Build an ADDR_EXPR.  */
 tree gfc_build_addr_expr (tree, tree);
 
@@ -1171,15 +1163,12 @@ void gfc_init_interface_mapping (gfc_interface_mapping *);
 void gfc_free_interface_mapping (gfc_interface_mapping *);
 void gfc_add_interface_mapping (gfc_interface_mapping *,
 				gfc_symbol *, gfc_se *, gfc_expr *);
-void gfc_finish_interface_mapping (gfc_interface_mapping *,
-				   stmtblock_t *, stmtblock_t *);
 void gfc_apply_interface_mapping (gfc_interface_mapping *,
 				  gfc_se *, gfc_expr *);
 
 
 /* Standard error messages used in all the trans-*.c files.  */
 extern const char gfc_msg_fault[];
-extern const char gfc_msg_wrong_return[];
 
 #define OMPWS_WORKSHARE_FLAG	1	/* Set if in a workshare construct.  */
 #define OMPWS_CURR_SINGLEUNIT	2	/* Set if current gfc_code in workshare
-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH,Fortran 2/7] Fortran: make some match* functions static
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
  2021-10-24 22:30 ` [PATCH,Fortran 1/7] Fortran: make some trans* functions static Bernhard Reutner-Fischer
@ 2021-10-24 22:30 ` Bernhard Reutner-Fischer
  2021-10-26  9:37   ` Tobias Burnus
  2021-10-24 22:30 ` [PATCH,Fortran 3/7] Fortran: make some constructor* " Bernhard Reutner-Fischer
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer, Bernhard Reutner-Fischer

From: Bernhard Reutner-Fischer <aldot@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
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.
---
 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 **);
-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH,Fortran 3/7] Fortran: make some constructor* functions static
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
  2021-10-24 22:30 ` [PATCH,Fortran 1/7] Fortran: make some trans* functions static Bernhard Reutner-Fischer
  2021-10-24 22:30 ` [PATCH,Fortran 2/7] Fortran: make some match* " Bernhard Reutner-Fischer
@ 2021-10-24 22:30 ` Bernhard Reutner-Fischer
  2021-10-26  9:30   ` Tobias Burnus
  2021-10-24 22:30 ` [PATCH,Fortran 4/7] Fortran: make some trans-array " Bernhard Reutner-Fischer
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer, Bernhard Reutner-Fischer

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

gfc_constructor_expr_foreach and gfc_constructor_swap were just stubs.

gcc/fortran/ChangeLog:

	* constructor.c (gfc_constructor_get_base): Make static.
	(gfc_constructor_expr_foreach, (gfc_constructor_swap): Delete.
	* constructor.h (gfc_constructor_get_base): Remove declaration.
	(gfc_constructor_expr_foreach, (gfc_constructor_swap): Delete.
---
 gcc/fortran/constructor.c | 20 ++------------------
 gcc/fortran/constructor.h | 10 ----------
 2 files changed, 2 insertions(+), 28 deletions(-)

diff --git a/gcc/fortran/constructor.c b/gcc/fortran/constructor.c
index 3e4377a5ad3..4b5a748271b 100644
--- a/gcc/fortran/constructor.c
+++ b/gcc/fortran/constructor.c
@@ -85,7 +85,8 @@ gfc_constructor_get (void)
   return c;
 }
 
-gfc_constructor_base gfc_constructor_get_base (void)
+static gfc_constructor_base
+gfc_constructor_get_base (void)
 {
   return splay_tree_new (splay_tree_compare_ints, NULL, node_free);
 }
@@ -209,23 +210,6 @@ gfc_constructor_lookup_expr (gfc_constructor_base base, int offset)
 }
 
 
-int
-gfc_constructor_expr_foreach (gfc_constructor *ctor ATTRIBUTE_UNUSED,
-			      int(*f)(gfc_expr *) ATTRIBUTE_UNUSED)
-{
-  gcc_assert (0);
-  return 0;
-}
-
-void
-gfc_constructor_swap (gfc_constructor *ctor ATTRIBUTE_UNUSED,
-                      int n ATTRIBUTE_UNUSED, int m ATTRIBUTE_UNUSED)
-{
-  gcc_assert (0);
-}
-
-
-
 gfc_constructor *
 gfc_constructor_first (gfc_constructor_base base)
 {
diff --git a/gcc/fortran/constructor.h b/gcc/fortran/constructor.h
index 85a72dcfc0e..25cd6a8f192 100644
--- a/gcc/fortran/constructor.h
+++ b/gcc/fortran/constructor.h
@@ -23,8 +23,6 @@ along with GCC; see the file COPYING3.  If not see
 /* Get a new constructor structure.  */
 gfc_constructor *gfc_constructor_get (void);
 
-gfc_constructor_base gfc_constructor_get_base (void);
-
 /* Copy a constructor structure.  */
 gfc_constructor_base gfc_constructor_copy (gfc_constructor_base base);
 
@@ -64,14 +62,6 @@ gfc_constructor *gfc_constructor_lookup (gfc_constructor_base base, int n);
 */
 gfc_expr *gfc_constructor_lookup_expr (gfc_constructor_base base, int n);
 
-
-int gfc_constructor_expr_foreach (gfc_constructor *ctor, int(*)(gfc_expr *));
-
-
-void gfc_constructor_swap (gfc_constructor *ctor, int n, int m);
-
-
-
 /* Get the first constructor node in the constructure structure.
    Returns NULL if there is no such expression.  */
 gfc_constructor *gfc_constructor_first (gfc_constructor_base base);
-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH,Fortran 4/7] Fortran: make some trans-array functions static
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (2 preceding siblings ...)
  2021-10-24 22:30 ` [PATCH,Fortran 3/7] Fortran: make some constructor* " Bernhard Reutner-Fischer
@ 2021-10-24 22:30 ` Bernhard Reutner-Fischer
  2021-10-26  9:39   ` Tobias Burnus
  2021-10-24 22:30 ` [PATCH,Fortran 5/7] Fortran: Delete unused decl in trans-stmt.h Bernhard Reutner-Fischer
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer, Bernhard Reutner-Fischer

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

gcc/fortran/ChangeLog:

	* trans-array.c (gfc_trans_scalarized_loop_end): Make static.
	* trans-array.h (gfc_trans_scalarized_loop_end,
	gfc_conv_tmp_ref, gfc_conv_array_transpose): Delete declaration.
---
 gcc/fortran/trans-array.c | 2 +-
 gcc/fortran/trans-array.h | 6 ------
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index bceb8b24ba4..5ceb261b698 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -4161,7 +4161,7 @@ gfc_start_scalarized_body (gfc_loopinfo * loop, stmtblock_t * pbody)
 
 /* Generates the actual loop code for a scalarization loop.  */
 
-void
+static void
 gfc_trans_scalarized_loop_end (gfc_loopinfo * loop, int n,
 			       stmtblock_t * pbody)
 {
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
index 1d3dc4819eb..12068c742a5 100644
--- a/gcc/fortran/trans-array.h
+++ b/gcc/fortran/trans-array.h
@@ -118,8 +118,6 @@ void gfc_copy_loopinfo_to_se (gfc_se *, gfc_loopinfo *);
 
 /* Marks the start of a scalarized expression, and declares loop variables.  */
 void gfc_start_scalarized_body (gfc_loopinfo *, stmtblock_t *);
-/* Generates one actual loop for a scalarized expression.  */
-void  gfc_trans_scalarized_loop_end (gfc_loopinfo *, int, stmtblock_t *);
 /* Generates the actual loops for a scalarized expression.  */
 void gfc_trans_scalarizing_loops (gfc_loopinfo *, stmtblock_t *);
 /* Mark the end of the main loop body and the start of the copying loop.  */
@@ -137,8 +135,6 @@ tree gfc_build_null_descriptor (tree);
 void gfc_conv_array_ref (gfc_se *, gfc_array_ref *, gfc_expr *, locus *);
 /* Translate a reference to a temporary array.  */
 void gfc_conv_tmp_array_ref (gfc_se * se);
-/* Translate a reference to an array temporary.  */
-void gfc_conv_tmp_ref (gfc_se *);
 
 /* Calculate the overall offset, including subreferences.  */
 void gfc_get_dataptr_offset (stmtblock_t*, tree, tree, tree, bool, gfc_expr*);
@@ -149,8 +145,6 @@ void gfc_conv_expr_descriptor (gfc_se *, gfc_expr *);
 /* Convert an array for passing as an actual function parameter.  */
 void gfc_conv_array_parameter (gfc_se *, gfc_expr *, bool,
 			       const gfc_symbol *, const char *, tree *);
-/* Evaluate and transpose a matrix expression.  */
-void gfc_conv_array_transpose (gfc_se *, gfc_expr *);
 
 /* These work with both descriptors and descriptorless arrays.  */
 tree gfc_conv_array_data (tree);
-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH,Fortran 5/7] Fortran: Delete unused decl in trans-stmt.h
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (3 preceding siblings ...)
  2021-10-24 22:30 ` [PATCH,Fortran 4/7] Fortran: make some trans-array " Bernhard Reutner-Fischer
@ 2021-10-24 22:30 ` Bernhard Reutner-Fischer
  2021-10-26  9:40   ` Tobias Burnus
  2021-10-24 22:30 ` [PATCH,Fortran 6/7] Fortran: Delete unused decl in trans-types.h Bernhard Reutner-Fischer
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer, Bernhard Reutner-Fischer

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

gcc/fortran/ChangeLog:

	* trans-stmt.h (gfc_trans_deallocate_array): Delete.
---
 gcc/fortran/trans-stmt.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gcc/fortran/trans-stmt.h b/gcc/fortran/trans-stmt.h
index 1a24d9b4cdc..e824caf4d08 100644
--- a/gcc/fortran/trans-stmt.h
+++ b/gcc/fortran/trans-stmt.h
@@ -66,7 +66,6 @@ tree gfc_trans_sync_team (gfc_code *);
 tree gfc_trans_where (gfc_code *);
 tree gfc_trans_allocate (gfc_code *);
 tree gfc_trans_deallocate (gfc_code *);
-tree gfc_trans_deallocate_array (tree);
 
 /* trans-openmp.c */
 tree gfc_trans_omp_directive (gfc_code *);
-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH,Fortran 6/7] Fortran: Delete unused decl in trans-types.h
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (4 preceding siblings ...)
  2021-10-24 22:30 ` [PATCH,Fortran 5/7] Fortran: Delete unused decl in trans-stmt.h Bernhard Reutner-Fischer
@ 2021-10-24 22:30 ` Bernhard Reutner-Fischer
  2021-10-26  9:40   ` Tobias Burnus
  2021-10-24 22:30 ` [PATCH,Fortran 7/7] Fortran: Delete unused decl in intrinsic.h Bernhard Reutner-Fischer
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer, Bernhard Reutner-Fischer

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

gcc/fortran/ChangeLog:

	* trans-types.h (gfc_convert_function_code): Delete.
---
 gcc/fortran/trans-types.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
index 1b43503092b..3bc236cad0d 100644
--- a/gcc/fortran/trans-types.h
+++ b/gcc/fortran/trans-types.h
@@ -65,9 +65,6 @@ enum gfc_packed {
   PACKED_STATIC
 };
 
-/* be-function.c */
-void gfc_convert_function_code (gfc_namespace *);
-
 /* trans-types.c */
 void gfc_init_kinds (void);
 void gfc_init_types (void);
-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH,Fortran 7/7] Fortran: Delete unused decl in intrinsic.h
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (5 preceding siblings ...)
  2021-10-24 22:30 ` [PATCH,Fortran 6/7] Fortran: Delete unused decl in trans-types.h Bernhard Reutner-Fischer
@ 2021-10-24 22:30 ` Bernhard Reutner-Fischer
  2021-10-24 22:46 ` [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:30 UTC (permalink / raw)
  To: gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer, Bernhard Reutner-Fischer

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

gcc/fortran/ChangeLog:

	* intrinsic.h (gfc_check_sum, gfc_resolve_atan2d, gfc_resolve_kill,
	gfc_resolve_kill_sub): Delete declaration.
---
 gcc/fortran/intrinsic.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h
index 2148f89e194..7511daaaaf1 100644
--- a/gcc/fortran/intrinsic.h
+++ b/gcc/fortran/intrinsic.h
@@ -168,7 +168,6 @@ bool gfc_check_spread (gfc_expr *, gfc_expr *, gfc_expr *);
 bool gfc_check_srand (gfc_expr *);
 bool gfc_check_stat (gfc_expr *, gfc_expr *);
 bool gfc_check_storage_size (gfc_expr *, gfc_expr *);
-bool gfc_check_sum (gfc_expr *, gfc_expr *, gfc_expr *);
 bool gfc_check_symlnk (gfc_expr *, gfc_expr *);
 bool gfc_check_team_number (gfc_expr *);
 bool gfc_check_transf_bit_intrins (gfc_actual_arglist *);
@@ -459,7 +458,6 @@ void gfc_resolve_asinh (gfc_expr *, gfc_expr *);
 void gfc_resolve_atan (gfc_expr *, gfc_expr *);
 void gfc_resolve_atanh (gfc_expr *, gfc_expr *);
 void gfc_resolve_atan2 (gfc_expr *, gfc_expr *, gfc_expr *);
-void gfc_resolve_atan2d (gfc_expr *, gfc_expr *, gfc_expr *);
 void gfc_resolve_atomic_def (gfc_code *);
 void gfc_resolve_atomic_ref (gfc_code *);
 void gfc_resolve_besn (gfc_expr *, gfc_expr *, gfc_expr *);
@@ -542,7 +540,6 @@ void gfc_resolve_rshift (gfc_expr *, gfc_expr *, gfc_expr *);
 void gfc_resolve_lshift (gfc_expr *, gfc_expr *, gfc_expr *);
 void gfc_resolve_ishft (gfc_expr *, gfc_expr *, gfc_expr *);
 void gfc_resolve_ishftc (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-void gfc_resolve_kill (gfc_expr *, gfc_expr *, gfc_expr *);
 void gfc_resolve_lbound (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
 void gfc_resolve_lcobound (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
 void gfc_resolve_len (gfc_expr *, gfc_expr *, gfc_expr *);
@@ -658,7 +655,6 @@ void gfc_resolve_gmtime (gfc_code *);
 void gfc_resolve_hostnm_sub (gfc_code *);
 void gfc_resolve_idate (gfc_code *);
 void gfc_resolve_itime (gfc_code *);
-void gfc_resolve_kill_sub (gfc_code *);
 void gfc_resolve_lstat_sub (gfc_code *);
 void gfc_resolve_ltime (gfc_code *);
 void gfc_resolve_mvbits (gfc_code *);
-- 
2.33.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 0/7] delete some unused decls, make static
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (6 preceding siblings ...)
  2021-10-24 22:30 ` [PATCH,Fortran 7/7] Fortran: Delete unused decl in intrinsic.h Bernhard Reutner-Fischer
@ 2021-10-24 22:46 ` Bernhard Reutner-Fischer
  2021-10-25  9:25 ` Bernhard Reutner-Fischer
  2021-10-29 18:13 ` missing simplify of CAF get_team [was: Re: [PATCH,Fortran 0/7] delete some unused decls, make static] Bernhard Reutner-Fischer
  9 siblings, 0 replies; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-24 22:46 UTC (permalink / raw)
  To: gcc-patches; +Cc: rep.dot.nop, fortran

[-- Attachment #1: Type: text/plain, Size: 805 bytes --]

On Mon, 25 Oct 2021 00:30:16 +0200
Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> wrote:

> Hi!
> 
> Quickly skimming through the frontend headers.

I'm also attaching the other view for the fortran FE after the header
cleanup:

python3 $topsrc/contrib/unused_functions.py gcc/fortran/ \
  grep -v "gt_"

for a guesstimate list of
 Symbol 'foo' declared extern but never referenced externally

Down to about 50 for f951 as we want to keep the debug ones of course.

For other language frontends see the head of the script;
Back then there was no D nor modula2, and a go sample is missing, too.
Should be rather straight forward if anyone is curious. You can just
abbreviate the list of objects that are used to link your frontend.
Archives are supposedly handled fine, at least last time i tried.

HTH,

[-- Attachment #2: f951-unused.20211025-0010.txt --]
[-- Type: text/plain, Size: 6358 bytes --]

gcc/fortran/match.o: Symbol 'type_param_spec_list' declared extern but never referenced externally
gcc/fortran/openmp.o: Symbol 'gfc_free_expr_list(gfc_expr_list*)' declared extern but never referenced externally
gcc/fortran/openmp.o: Symbol 'gfc_free_omp_declare_simd(gfc_omp_declare_simd*)' declared extern but never referenced externally
gcc/fortran/openmp.o: Symbol 'gfc_match_omp_context_selector(gfc_omp_set_selector*)' declared extern but never referenced externally
gcc/fortran/openmp.o: Symbol 'gfc_match_omp_context_selector_specification(gfc_omp_declare_variant*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_class_vtab_hash_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_class_vtab_extends_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_vptr_extends_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_class_vtab_def_init_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_vptr_def_init_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_class_vtab_copy_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_vptr_copy_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_vptr_final_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-expr.o: Symbol 'gfc_class_vtab_deallocate_get(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-decl.o: Symbol 'module_decl_hasher::hash(tree_node*)' declared extern but never referenced externally
gcc/fortran/trans-decl.o: Symbol 'gfor_fndecl_set_args' declared extern but never referenced externally
gcc/fortran/trans-decl.o: Symbol 'gfor_fndecl_set_convert' declared extern but never referenced externally
gcc/fortran/trans-decl.o: Symbol 'gfor_fndecl_set_record_marker' declared extern but never referenced externally
gcc/fortran/trans-decl.o: Symbol 'gfor_fndecl_set_max_subrecord_length' declared extern but never referenced externally
gcc/fortran/simplify.o: Symbol 'gfc_simplify_get_team(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/simplify.o: Symbol 'simplify_ieee_selected_real_kind(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/simplify.o: Symbol 'simplify_ieee_support(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/decl.o: Symbol 'gfc_match_null(gfc_expr**)' declared extern but never referenced externally
gcc/fortran/decl.o: Symbol 'gfc_insert_kind_parameter_exprs(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/decl.o: Symbol 'check_bind_name_identifier(char**)' declared extern but never referenced externally
gcc/fortran/decl.o: Symbol 'gfc_mod_pointee_as(gfc_array_spec*)' declared extern but never referenced externally
gcc/fortran/module.o: Symbol 'mio_symbol_ref(gfc_symbol**)' declared extern but never referenced externally
gcc/fortran/module.o: Symbol 'mio_interface_rest(gfc_interface**)' declared extern but never referenced externally
gcc/fortran/trans-intrinsic.o: Symbol 'specific_intrinsic_symbol(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/resolve.o: Symbol 'gfc_elemental(gfc_symbol*)' declared extern but never referenced externally
gcc/fortran/trans-openmp.o: Symbol 'gfc_trans_oacc_declare(gfc_code*)' declared extern but never referenced externally
gcc/fortran/primary.o: Symbol 'matching_actual_arglist' declared extern but never referenced externally
gcc/fortran/symbol.o: Symbol 'gfc_drop_last_undo_checkpoint()' declared extern but never referenced externally
gcc/fortran/symbol.o: Symbol 'gfc_restore_last_undo_checkpoint()' declared extern but never referenced externally
gcc/fortran/symbol.o: Symbol 'gfc_get_ultimate_derived_super_type(gfc_symbol*)' declared extern but never referenced externally
gcc/fortran/gfortranspec.o: Symbol 'lang_specific_pre_link()' declared extern but never referenced externally
gcc/fortran/gfortranspec.o: Symbol 'lang_specific_extra_outfiles' declared extern but never referenced externally
gcc/fortran/class.o: Symbol 'gfc_intrinsic_hash_value(gfc_typespec*)' declared extern but never referenced externally
gcc/fortran/trans-array.o: Symbol 'gfc_conv_descriptor_attribute(tree_node*)' declared extern but never referenced externally
gcc/fortran/cpp.o: Symbol 'gfc_cpp_option' declared extern but never referenced externally
gcc/fortran/error.o: Symbol 'notify_std_msg(int)' declared extern but never referenced externally
gcc/fortran/frontend-passes.o: Symbol 'n_vars' declared extern but never referenced externally
gcc/fortran/frontend-passes.o: Symbol 'stack_top' declared extern but never referenced externally
gcc/fortran/frontend-passes.o: Symbol 'evec' declared extern but never referenced externally
gcc/fortran/interface.o: Symbol 'maybe_dummy_array_arg(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(symbol_attribute*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(gfc_formal_arglist*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(symbol_attribute)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(gfc_typespec*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(gfc_typespec)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(gfc_ref*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'gfc_debug_expr(gfc_expr*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'gfc_debug_code(gfc_code*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(gfc_symbol*)' declared extern but never referenced externally
gcc/fortran/dump-parse-tree.o: Symbol 'debug(gfc_array_ref*)' declared extern but never referenced externally

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 1/7] Fortran: make some trans* functions static
  2021-10-24 22:30 ` [PATCH,Fortran 1/7] Fortran: make some trans* functions static Bernhard Reutner-Fischer
@ 2021-10-25  5:47   ` Thomas Koenig
  2021-10-25  6:43     ` Tobias Burnus
  2021-10-26  9:34   ` Tobias Burnus
  1 sibling, 1 reply; 20+ messages in thread
From: Thomas Koenig @ 2021-10-25  5:47 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer


Hi Bernhard,

what you're doing seems a useful clean-up, thanks.

One point for discussion:

> -match
> +static match
>   gfc_match_label (void)

I have generally understood that the gfc_ prefix is for global variables
and functions only.  We do not always adhere to it (also since some
global functions were made static previously), but I think we should
stick to it, unless other people think otherwise :-)

Best regards

	Thomas

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 1/7] Fortran: make some trans* functions static
  2021-10-25  5:47   ` Thomas Koenig
@ 2021-10-25  6:43     ` Tobias Burnus
  2021-10-25  8:00       ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 20+ messages in thread
From: Tobias Burnus @ 2021-10-25  6:43 UTC (permalink / raw)
  To: Thomas Koenig, Bernhard Reutner-Fischer, gcc-patches, fortran
  Cc: Bernhard Reutner-Fischer

Hi Thomas,

On 25.10.21 07:47, Thomas Koenig via Fortran wrote:
> what you're doing seems a useful clean-up, thanks.
>
> One point for discussion:
>> -match
>> +static match
>>   gfc_match_label (void)
> I have generally understood that the gfc_ prefix is for global variables
> and functions only.  We do not always adhere to it (also since some
> global functions were made static previously), but I think we should
> stick to it, unless other people think otherwise :-)

I concur – but there is also a good reason for always having a prefix:
It makes it more unlikely that there are name clashes between the
middle/backend end and the FE. – And those should be strictly avoided as
it makes debugging (in the debugger) harder. (And in particular, same
file names should be avoided.)

I think there is also some attempt to avoid same names in multiple FE,
but that's not as strict as long as different binaries are produced and
'git grep' does also show the directory.

For the readability, it could be sometimes useful to know whether a
function is a FE function or not.

Thus, I am not sure whether it is better to always have the prefix or
not – there are arguments for either.

Tobias

-----------------
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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 1/7] Fortran: make some trans* functions static
  2021-10-25  6:43     ` Tobias Burnus
@ 2021-10-25  8:00       ` Bernhard Reutner-Fischer
  0 siblings, 0 replies; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-25  8:00 UTC (permalink / raw)
  To: Tobias Burnus
  Cc: rep.dot.nop, Thomas Koenig, gcc-patches, fortran,
	Bernhard Reutner-Fischer

On Mon, 25 Oct 2021 08:43:09 +0200
Tobias Burnus <tobias@codesourcery.com> wrote:

> Hi Thomas,
> 
> On 25.10.21 07:47, Thomas Koenig via Fortran wrote:
> > what you're doing seems a useful clean-up, thanks.
> >
> > One point for discussion:  
> >> -match
> >> +static match
> >>   gfc_match_label (void)  
> > I have generally understood that the gfc_ prefix is for global variables
> > and functions only.  We do not always adhere to it (also since some
> > global functions were made static previously), but I think we should
> > stick to it, unless other people think otherwise :-)  
> 
> I concur – but there is also a good reason for always having a prefix:
> It makes it more unlikely that there are name clashes between the
> middle/backend end and the FE. – And those should be strictly avoided as
> it makes debugging (in the debugger) harder. (And in particular, same
> file names should be avoided.)
> 
> I think there is also some attempt to avoid same names in multiple FE,
> but that's not as strict as long as different binaries are produced and
> 'git grep' does also show the directory.
> 
> For the readability, it could be sometimes useful to know whether a
> function is a FE function or not.
> 
> Thus, I am not sure whether it is better to always have the prefix or
> not – there are arguments for either.

I would put it the other way round:
At least global functions (and variables) should use the gfc_ prefix to
ease debugging and grep.

That said, I deliberately did not rename any of the functions, also to
avoid needless churn.
thanks,

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 0/7] delete some unused decls, make static
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (7 preceding siblings ...)
  2021-10-24 22:46 ` [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
@ 2021-10-25  9:25 ` Bernhard Reutner-Fischer
  2021-10-29 18:13 ` missing simplify of CAF get_team [was: Re: [PATCH,Fortran 0/7] delete some unused decls, make static] Bernhard Reutner-Fischer
  9 siblings, 0 replies; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-25  9:25 UTC (permalink / raw)
  To: fortran; +Cc: rep.dot.nop, gcc-patches, Tobias Burnus

On Mon, 25 Oct 2021 00:30:16 +0200
Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> wrote:

> Hi!
> 
> Quickly skimming through the frontend headers.
> There are a couple of declarations for functions that do not have
> definitions. And there are a couple of functions that can be static.

> Bootstraps fine, regression tests running over night.
> Ok for trunk if it passes?

Tested with no regressions on x86_64-unknown-linux {-m32,-m64}.
Ok for trunk?

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 3/7] Fortran: make some constructor* functions static
  2021-10-24 22:30 ` [PATCH,Fortran 3/7] Fortran: make some constructor* " Bernhard Reutner-Fischer
@ 2021-10-26  9:30   ` Tobias Burnus
  0 siblings, 0 replies; 20+ messages in thread
From: Tobias Burnus @ 2021-10-26  9:30 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer

On 25.10.21 00:30, Bernhard Reutner-Fischer via Fortran wrote:
> From: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
> gfc_constructor_expr_foreach and gfc_constructor_swap were just stubs.
> gcc/fortran/ChangeLog:
>
>       * constructor.c (gfc_constructor_get_base): Make static.
>       (gfc_constructor_expr_foreach, (gfc_constructor_swap): Delete.
>       * constructor.h (gfc_constructor_get_base): Remove declaration.
>       (gfc_constructor_expr_foreach, (gfc_constructor_swap): Delete.

OK. Thanks for the cleanup.

Tobias

> ---
>   gcc/fortran/constructor.c | 20 ++------------------
>   gcc/fortran/constructor.h | 10 ----------
>   2 files changed, 2 insertions(+), 28 deletions(-)
>
> diff --git a/gcc/fortran/constructor.c b/gcc/fortran/constructor.c
> index 3e4377a5ad3..4b5a748271b 100644
> --- a/gcc/fortran/constructor.c
> +++ b/gcc/fortran/constructor.c
> @@ -85,7 +85,8 @@ gfc_constructor_get (void)
>     return c;
>   }
>
> -gfc_constructor_base gfc_constructor_get_base (void)
> +static gfc_constructor_base
> +gfc_constructor_get_base (void)
>   {
>     return splay_tree_new (splay_tree_compare_ints, NULL, node_free);
>   }
> @@ -209,23 +210,6 @@ gfc_constructor_lookup_expr (gfc_constructor_base base, int offset)
>   }
>
>
> -int
> -gfc_constructor_expr_foreach (gfc_constructor *ctor ATTRIBUTE_UNUSED,
> -                           int(*f)(gfc_expr *) ATTRIBUTE_UNUSED)
> -{
> -  gcc_assert (0);
> -  return 0;
> -}
> -
> -void
> -gfc_constructor_swap (gfc_constructor *ctor ATTRIBUTE_UNUSED,
> -                      int n ATTRIBUTE_UNUSED, int m ATTRIBUTE_UNUSED)
> -{
> -  gcc_assert (0);
> -}
> -
> -
> -
>   gfc_constructor *
>   gfc_constructor_first (gfc_constructor_base base)
>   {
> diff --git a/gcc/fortran/constructor.h b/gcc/fortran/constructor.h
> index 85a72dcfc0e..25cd6a8f192 100644
> --- a/gcc/fortran/constructor.h
> +++ b/gcc/fortran/constructor.h
> @@ -23,8 +23,6 @@ along with GCC; see the file COPYING3.  If not see
>   /* Get a new constructor structure.  */
>   gfc_constructor *gfc_constructor_get (void);
>
> -gfc_constructor_base gfc_constructor_get_base (void);
> -
>   /* Copy a constructor structure.  */
>   gfc_constructor_base gfc_constructor_copy (gfc_constructor_base base);
>
> @@ -64,14 +62,6 @@ gfc_constructor *gfc_constructor_lookup (gfc_constructor_base base, int n);
>   */
>   gfc_expr *gfc_constructor_lookup_expr (gfc_constructor_base base, int n);
>
> -
> -int gfc_constructor_expr_foreach (gfc_constructor *ctor, int(*)(gfc_expr *));
> -
> -
> -void gfc_constructor_swap (gfc_constructor *ctor, int n, int m);
> -
> -
> -
>   /* Get the first constructor node in the constructure structure.
>      Returns NULL if there is no such expression.  */
>   gfc_constructor *gfc_constructor_first (gfc_constructor_base base);
-----------------
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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 1/7] Fortran: make some trans* functions static
  2021-10-24 22:30 ` [PATCH,Fortran 1/7] Fortran: make some trans* functions static Bernhard Reutner-Fischer
  2021-10-25  5:47   ` Thomas Koenig
@ 2021-10-26  9:34   ` Tobias Burnus
  1 sibling, 0 replies; 20+ messages in thread
From: Tobias Burnus @ 2021-10-26  9:34 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer

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

> From: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
>
> This makes some trans* functions static and deletes declarations of
> functions that either do not exist anymore like gfc_get_function_decl
> or that are unused like gfc_check_any_c_kind.
>
> gcc/fortran/ChangeLog:
>       * expr.c (is_non_empty_structure_constructor): Make static.
>       * gfortran.h (gfc_check_any_c_kind): Delete.
>       * match.c (gfc_match_label): Make static.
>       * match.h (gfc_match_label): Delete declaration.
>       * scanner.c (file_changes_cur, file_changes_count,
>       file_changes_allocated): Make static.
>       * trans-expr.c (gfc_get_character_len): Make static.
>       (gfc_class_len_or_zero_get): Make static.
>       (VTAB_GET_FIELD_GEN): Undefine.
>       (gfc_get_class_array_ref): Make static.
>       (gfc_finish_interface_mapping): Make static.
>       * trans-types.c (gfc_check_any_c_kind): Delete.
>       (pfunc_type_node, dtype_type_node, gfc_get_ppc_type): Make static.
>       * trans-types.h (gfc_get_ppc_type): Delete declaration.
>       * trans.c (gfc_msg_wrong_return): Delete.
>       * trans.h (gfc_class_len_or_zero_get, gfc_class_vtab_extends_get,
>       gfc_vptr_extends_get, gfc_get_class_array_ref, gfc_get_character_len,
>       gfc_finish_interface_mapping, gfc_msg_wrong_return,
>       gfc_get_function_decl): Delete declaration.

OK.

Thanks for the cleanup!

Tobias

> ---
>   gcc/fortran/expr.c        |  2 +-
>   gcc/fortran/gfortran.h    |  1 -
>   gcc/fortran/match.c       |  2 +-
>   gcc/fortran/match.h       |  1 -
>   gcc/fortran/scanner.c     |  4 ++--
>   gcc/fortran/trans-expr.c  | 10 +++++-----
>   gcc/fortran/trans-types.c | 25 +++----------------------
>   gcc/fortran/trans-types.h |  1 -
>   gcc/fortran/trans.c       |  1 -
>   gcc/fortran/trans.h       | 11 -----------
>   10 files changed, 12 insertions(+), 46 deletions(-)
>
> diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
> index b19d3a26c60..4dea840e348 100644
> --- a/gcc/fortran/expr.c
> +++ b/gcc/fortran/expr.c
> @@ -4817,7 +4817,7 @@ gfc_apply_init (gfc_typespec *ts, symbol_attribute *attr, gfc_expr *init)
>   /* Check whether an expression is a structure constructor and whether it has
>      other values than NULL.  */
>
> -bool
> +static bool
>   is_non_empty_structure_constructor (gfc_expr * e)
>   {
>     if (e->expr_type != EXPR_STRUCTURE)
> diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
> index 66192c07d8c..f7662c59a5d 100644
> --- a/gcc/fortran/gfortran.h
> +++ b/gcc/fortran/gfortran.h
> @@ -3284,7 +3284,6 @@ bool gfc_check_character_range (gfc_char_t, int);
>   extern bool gfc_seen_div0;
>
>   /* trans-types.c */
> -bool gfc_check_any_c_kind (gfc_typespec *);
>   int gfc_validate_kind (bt, int, bool);
>   int gfc_get_int_kind_from_width_isofortranenv (int size);
>   int gfc_get_real_kind_from_width_isofortranenv (int size);
> diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
> index 53a575e616e..91cde55d7a1 100644
> --- a/gcc/fortran/match.c
> +++ b/gcc/fortran/match.c
> @@ -599,7 +599,7 @@ cleanup:
>      it.  We also make sure the symbol does not refer to another
>      (active) block.  A matched label is pointed to by gfc_new_block.  */
>
> -match
> +static match
>   gfc_match_label (void)
>   {
>     char name[GFC_MAX_SYMBOL_LEN + 1];
> diff --git a/gcc/fortran/match.h b/gcc/fortran/match.h
> index 21e94f79d95..eb9459ea99c 100644
> --- a/gcc/fortran/match.h
> +++ b/gcc/fortran/match.h
> @@ -47,7 +47,6 @@ match gfc_match_space (void);
>   match gfc_match_eos (void);
>   match gfc_match_small_literal_int (int *, int *);
>   match gfc_match_st_label (gfc_st_label **);
> -match gfc_match_label (void);
>   match gfc_match_small_int (int *);
>   match gfc_match_small_int_expr (int *, gfc_expr **);
>   match gfc_match_name (char *);
> diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
> index 5a450692ba3..69b81ab97f8 100644
> --- a/gcc/fortran/scanner.c
> +++ b/gcc/fortran/scanner.c
> @@ -78,8 +78,8 @@ static struct gfc_file_change
>     gfc_linebuf *lb;
>     int line;
>   } *file_changes;
> -size_t file_changes_cur, file_changes_count;
> -size_t file_changes_allocated;
> +static size_t file_changes_cur, file_changes_count;
> +static size_t file_changes_allocated;
>
>   static gfc_char_t *last_error_char;
>
> diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
> index 2d7f9e0fb91..e7aec3845d3 100644
> --- a/gcc/fortran/trans-expr.c
> +++ b/gcc/fortran/trans-expr.c
> @@ -45,7 +45,7 @@ along with GCC; see the file COPYING3.  If not see
>
>   /* Calculate the number of characters in a string.  */
>
> -tree
> +static tree
>   gfc_get_character_len (tree type)
>   {
>     tree len;
> @@ -278,7 +278,7 @@ gfc_class_len_get (tree decl)
>   /* Try to get the _len component of a class.  When the class is not unlimited
>      poly, i.e. no _len field exists, then return a zero node.  */
>
> -tree
> +static tree
>   gfc_class_len_or_zero_get (tree decl)
>   {
>     tree len;
> @@ -382,7 +382,7 @@ VTAB_GET_FIELD_GEN (def_init, VTABLE_DEF_INIT_FIELD)
>   VTAB_GET_FIELD_GEN (copy, VTABLE_COPY_FIELD)
>   VTAB_GET_FIELD_GEN (final, VTABLE_FINAL_FIELD)
>   VTAB_GET_FIELD_GEN (deallocate, VTABLE_DEALLOCATE_FIELD)
> -
> +#undef VTAB_GET_FIELD_GEN
>
>   /* The size field is returned as an array index type.  Therefore treat
>      it and only it specially.  */
> @@ -1367,7 +1367,7 @@ gfc_conv_class_to_class (gfc_se *parmse, gfc_expr *e, gfc_typespec class_ts,
>   /* Given a class array declaration and an index, returns the address
>      of the referenced element.  */
>
> -tree
> +static tree
>   gfc_get_class_array_ref (tree index, tree class_decl, tree data_comp,
>                        bool unlimited)
>   {
> @@ -4531,7 +4531,7 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping,
>      the length of each argument, adding any initialization code to PRE and
>      any finalization code to POST.  */
>
> -void
> +static void
>   gfc_finish_interface_mapping (gfc_interface_mapping * mapping,
>                             stmtblock_t * pre, stmtblock_t * post)
>   {
> diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
> index 42778067dbe..947ab5a099b 100644
> --- a/gcc/fortran/trans-types.c
> +++ b/gcc/fortran/trans-types.c
> @@ -61,7 +61,7 @@ tree pvoid_type_node;
>   tree prvoid_type_node;
>   tree ppvoid_type_node;
>   tree pchar_type_node;
> -tree pfunc_type_node;
> +static tree pfunc_type_node;
>
>   tree logical_type_node;
>   tree logical_true_node;
> @@ -133,7 +133,7 @@ int gfc_size_kind;
>   int gfc_numeric_storage_size;
>   int gfc_character_storage_size;
>
> -tree dtype_type_node = NULL_TREE;
> +static tree dtype_type_node = NULL_TREE;
>
>
>   /* Build the dtype_type_node if necessary.  */
> @@ -175,25 +175,6 @@ tree get_dtype_type_node (void)
>     return dtype_type_node;
>   }
>
> -bool
> -gfc_check_any_c_kind (gfc_typespec *ts)
> -{
> -  int i;
> -
> -  for (i = 0; i < ISOCBINDING_NUMBER; i++)
> -    {
> -      /* Check for any C interoperable kind for the given type/kind in ts.
> -         This can be used after verify_c_interop to make sure that the
> -         Fortran kind being used exists in at least some form for C.  */
> -      if (c_interop_kinds_table[i].f90_type == ts->type &&
> -          c_interop_kinds_table[i].value == ts->kind)
> -        return true;
> -    }
> -
> -  return false;
> -}
> -
> -
>   static int
>   get_real_kind_from_node (tree type)
>   {
> @@ -2470,7 +2451,7 @@ gfc_copy_dt_decls_ifequal (gfc_symbol *from, gfc_symbol *to,
>
>   /* Build a tree node for a procedure pointer component.  */
>
> -tree
> +static tree
>   gfc_get_ppc_type (gfc_component* c)
>   {
>     tree t;
> diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
> index 15d206b9443..1b43503092b 100644
> --- a/gcc/fortran/trans-types.h
> +++ b/gcc/fortran/trans-types.h
> @@ -117,7 +117,6 @@ int gfc_is_nodesc_array (gfc_symbol *);
>   tree gfc_get_dtype_rank_type (int, tree);
>   tree gfc_get_dtype (tree, int *rank = NULL);
>
> -tree gfc_get_ppc_type (gfc_component *);
>   tree gfc_get_caf_vector_type (int dim);
>   tree gfc_get_caf_reference_type ();
>
> diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
> index 22f267645e8..a377d0eeb24 100644
> --- a/gcc/fortran/trans.c
> +++ b/gcc/fortran/trans.c
> @@ -45,7 +45,6 @@ along with GCC; see the file COPYING3.  If not see
>   static gfc_file *gfc_current_backend_file;
>
>   const char gfc_msg_fault[] = N_("Array reference out of bounds");
> -const char gfc_msg_wrong_return[] = N_("Incorrect function return value");
>
>
>   /* Return a location_t suitable for 'tree' for a gfortran locus.  The way the
> diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
> index 7ec4ca53a2c..0d4eed20d20 100644
> --- a/gcc/fortran/trans.h
> +++ b/gcc/fortran/trans.h
> @@ -425,7 +425,6 @@ tree gfc_class_set_static_fields (tree, tree, tree);
>   tree gfc_class_data_get (tree);
>   tree gfc_class_vptr_get (tree);
>   tree gfc_class_len_get (tree);
> -tree gfc_class_len_or_zero_get (tree);
>   tree gfc_resize_class_size_with_len (stmtblock_t *, tree, tree);
>   gfc_expr * gfc_find_and_cut_at_last_class_ref (gfc_expr *, bool is_mold = false,
>                                              gfc_typespec **ts = NULL);
> @@ -433,14 +432,12 @@ gfc_expr * gfc_find_and_cut_at_last_class_ref (gfc_expr *, bool is_mold = false,
>      available.  */
>   tree gfc_class_vtab_hash_get (tree);
>   tree gfc_class_vtab_size_get (tree);
> -tree gfc_class_vtab_extends_get (tree);
>   tree gfc_class_vtab_def_init_get (tree);
>   tree gfc_class_vtab_copy_get (tree);
>   tree gfc_class_vtab_final_get (tree);
>   /* Get an accessor to the vtab's * field, when a vptr handle is present.  */
>   tree gfc_vptr_hash_get (tree);
>   tree gfc_vptr_size_get (tree);
> -tree gfc_vptr_extends_get (tree);
>   tree gfc_vptr_def_init_get (tree);
>   tree gfc_vptr_copy_get (tree);
>   tree gfc_vptr_final_get (tree);
> @@ -450,7 +447,6 @@ void gfc_reset_len (stmtblock_t *, gfc_expr *);
>   tree gfc_get_class_from_gfc_expr (gfc_expr *);
>   tree gfc_get_class_from_expr (tree);
>   tree gfc_get_vptr_from_expr (tree);
> -tree gfc_get_class_array_ref (tree, tree, tree, bool);
>   tree gfc_copy_class_to_class (tree, tree, tree, bool);
>   bool gfc_add_finalizer_call (stmtblock_t *, gfc_expr *);
>   bool gfc_add_comp_finalizer_call (stmtblock_t *, tree, gfc_component *, bool);
> @@ -509,7 +505,6 @@ void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree);
>
>
>   /* trans-expr.c */
> -tree gfc_get_character_len (tree);
>   tree gfc_get_character_len_in_bytes (tree);
>   tree gfc_conv_scalar_to_descriptor (gfc_se *, tree, symbol_attribute);
>   tree gfc_get_ultimate_alloc_ptr_comps_caf_token (gfc_se *, gfc_expr *);
> @@ -621,9 +616,6 @@ tree gfc_get_extern_function_decl (gfc_symbol *,
>                                  gfc_actual_arglist *args = NULL,
>                                  const char *fnspec = NULL);
>
> -/* Return the decl for a function.  */
> -tree gfc_get_function_decl (gfc_symbol *);
> -
>   /* Build an ADDR_EXPR.  */
>   tree gfc_build_addr_expr (tree, tree);
>
> @@ -1171,15 +1163,12 @@ void gfc_init_interface_mapping (gfc_interface_mapping *);
>   void gfc_free_interface_mapping (gfc_interface_mapping *);
>   void gfc_add_interface_mapping (gfc_interface_mapping *,
>                               gfc_symbol *, gfc_se *, gfc_expr *);
> -void gfc_finish_interface_mapping (gfc_interface_mapping *,
> -                                stmtblock_t *, stmtblock_t *);
>   void gfc_apply_interface_mapping (gfc_interface_mapping *,
>                                 gfc_se *, gfc_expr *);
>
>
>   /* Standard error messages used in all the trans-*.c files.  */
>   extern const char gfc_msg_fault[];
> -extern const char gfc_msg_wrong_return[];
>
>   #define OMPWS_WORKSHARE_FLAG        1       /* Set if in a workshare construct.  */
>   #define OMPWS_CURR_SINGLEUNIT       2       /* Set if current gfc_code in workshare
-----------------
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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 2/7] Fortran: make some match* functions static
  2021-10-24 22:30 ` [PATCH,Fortran 2/7] Fortran: make some match* " Bernhard Reutner-Fischer
@ 2021-10-26  9:37   ` Tobias Burnus
  0 siblings, 0 replies; 20+ messages in thread
From: Tobias Burnus @ 2021-10-26  9:37 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer

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

> From: Bernhard Reutner-Fischer <aldot@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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 4/7] Fortran: make some trans-array functions static
  2021-10-24 22:30 ` [PATCH,Fortran 4/7] Fortran: make some trans-array " Bernhard Reutner-Fischer
@ 2021-10-26  9:39   ` Tobias Burnus
  0 siblings, 0 replies; 20+ messages in thread
From: Tobias Burnus @ 2021-10-26  9:39 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer

On 25.10.21 00:30, Bernhard Reutner-Fischer via Fortran wrote:
> From: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
>
> gcc/fortran/ChangeLog:
>
>       * trans-array.c (gfc_trans_scalarized_loop_end): Make static.
>       * trans-array.h (gfc_trans_scalarized_loop_end,
>       gfc_conv_tmp_ref, gfc_conv_array_transpose): Delete declaration.

(the later are declared but no longer exist)

OK. Thanks for the cleanup!

Tobias

> ---
>   gcc/fortran/trans-array.c | 2 +-
>   gcc/fortran/trans-array.h | 6 ------
>   2 files changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
> index bceb8b24ba4..5ceb261b698 100644
> --- a/gcc/fortran/trans-array.c
> +++ b/gcc/fortran/trans-array.c
> @@ -4161,7 +4161,7 @@ gfc_start_scalarized_body (gfc_loopinfo * loop, stmtblock_t * pbody)
>
>   /* Generates the actual loop code for a scalarization loop.  */
>
> -void
> +static void
>   gfc_trans_scalarized_loop_end (gfc_loopinfo * loop, int n,
>                              stmtblock_t * pbody)
>   {
> diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
> index 1d3dc4819eb..12068c742a5 100644
> --- a/gcc/fortran/trans-array.h
> +++ b/gcc/fortran/trans-array.h
> @@ -118,8 +118,6 @@ void gfc_copy_loopinfo_to_se (gfc_se *, gfc_loopinfo *);
>
>   /* Marks the start of a scalarized expression, and declares loop variables.  */
>   void gfc_start_scalarized_body (gfc_loopinfo *, stmtblock_t *);
> -/* Generates one actual loop for a scalarized expression.  */
> -void  gfc_trans_scalarized_loop_end (gfc_loopinfo *, int, stmtblock_t *);
>   /* Generates the actual loops for a scalarized expression.  */
>   void gfc_trans_scalarizing_loops (gfc_loopinfo *, stmtblock_t *);
>   /* Mark the end of the main loop body and the start of the copying loop.  */
> @@ -137,8 +135,6 @@ tree gfc_build_null_descriptor (tree);
>   void gfc_conv_array_ref (gfc_se *, gfc_array_ref *, gfc_expr *, locus *);
>   /* Translate a reference to a temporary array.  */
>   void gfc_conv_tmp_array_ref (gfc_se * se);
> -/* Translate a reference to an array temporary.  */
> -void gfc_conv_tmp_ref (gfc_se *);
>
>   /* Calculate the overall offset, including subreferences.  */
>   void gfc_get_dataptr_offset (stmtblock_t*, tree, tree, tree, bool, gfc_expr*);
> @@ -149,8 +145,6 @@ void gfc_conv_expr_descriptor (gfc_se *, gfc_expr *);
>   /* Convert an array for passing as an actual function parameter.  */
>   void gfc_conv_array_parameter (gfc_se *, gfc_expr *, bool,
>                              const gfc_symbol *, const char *, tree *);
> -/* Evaluate and transpose a matrix expression.  */
> -void gfc_conv_array_transpose (gfc_se *, gfc_expr *);
>
>   /* These work with both descriptors and descriptorless arrays.  */
>   tree gfc_conv_array_data (tree);
-----------------
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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 5/7] Fortran: Delete unused decl in trans-stmt.h
  2021-10-24 22:30 ` [PATCH,Fortran 5/7] Fortran: Delete unused decl in trans-stmt.h Bernhard Reutner-Fischer
@ 2021-10-26  9:40   ` Tobias Burnus
  0 siblings, 0 replies; 20+ messages in thread
From: Tobias Burnus @ 2021-10-26  9:40 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer

On 25.10.21 00:30, Bernhard Reutner-Fischer via Gcc-patches wrote:
> From: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
>
> gcc/fortran/ChangeLog:
>
>       * trans-stmt.h (gfc_trans_deallocate_array): Delete.

OK. Thanks!

Tobias

> ---
>   gcc/fortran/trans-stmt.h | 1 -
>   1 file changed, 1 deletion(-)
>
> diff --git a/gcc/fortran/trans-stmt.h b/gcc/fortran/trans-stmt.h
> index 1a24d9b4cdc..e824caf4d08 100644
> --- a/gcc/fortran/trans-stmt.h
> +++ b/gcc/fortran/trans-stmt.h
> @@ -66,7 +66,6 @@ tree gfc_trans_sync_team (gfc_code *);
>   tree gfc_trans_where (gfc_code *);
>   tree gfc_trans_allocate (gfc_code *);
>   tree gfc_trans_deallocate (gfc_code *);
> -tree gfc_trans_deallocate_array (tree);
>
>   /* trans-openmp.c */
>   tree gfc_trans_omp_directive (gfc_code *);
-----------------
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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH,Fortran 6/7] Fortran: Delete unused decl in trans-types.h
  2021-10-24 22:30 ` [PATCH,Fortran 6/7] Fortran: Delete unused decl in trans-types.h Bernhard Reutner-Fischer
@ 2021-10-26  9:40   ` Tobias Burnus
  0 siblings, 0 replies; 20+ messages in thread
From: Tobias Burnus @ 2021-10-26  9:40 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, gcc-patches, fortran; +Cc: Bernhard Reutner-Fischer

On 25.10.21 00:30, Bernhard Reutner-Fischer via Fortran wrote:
> From: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
> gcc/fortran/ChangeLog:
>
>       * trans-types.h (gfc_convert_function_code): Delete.

OK.

Tobias

> ---
>   gcc/fortran/trans-types.h | 3 ---
>   1 file changed, 3 deletions(-)
>
> diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
> index 1b43503092b..3bc236cad0d 100644
> --- a/gcc/fortran/trans-types.h
> +++ b/gcc/fortran/trans-types.h
> @@ -65,9 +65,6 @@ enum gfc_packed {
>     PACKED_STATIC
>   };
>
> -/* be-function.c */
> -void gfc_convert_function_code (gfc_namespace *);
> -
>   /* trans-types.c */
>   void gfc_init_kinds (void);
>   void gfc_init_types (void);
-----------------
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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* missing simplify of CAF get_team [was: Re: [PATCH,Fortran 0/7] delete some unused decls, make static]
  2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
                   ` (8 preceding siblings ...)
  2021-10-25  9:25 ` Bernhard Reutner-Fischer
@ 2021-10-29 18:13 ` Bernhard Reutner-Fischer
  9 siblings, 0 replies; 20+ messages in thread
From: Bernhard Reutner-Fischer @ 2021-10-29 18:13 UTC (permalink / raw)
  To: fortran

On Mon, 25 Oct 2021 00:30:16 +0200
Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> wrote:

> - delete unused gfc_simplify_get_team or wire it up in intrinsics,
>   get_team handling (instead of the NULL..)
> 
> Anyone who does coarrays might want to fill in the missing get_team()
> simplify and add an appropriate test.

JFTR this is now
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103001

CAF get_team() seems to have other issues according to bugzilla so this
one surely is just cosmetics.
thanks,

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-10-29 18:13 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-24 22:30 [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
2021-10-24 22:30 ` [PATCH,Fortran 1/7] Fortran: make some trans* functions static Bernhard Reutner-Fischer
2021-10-25  5:47   ` Thomas Koenig
2021-10-25  6:43     ` Tobias Burnus
2021-10-25  8:00       ` Bernhard Reutner-Fischer
2021-10-26  9:34   ` Tobias Burnus
2021-10-24 22:30 ` [PATCH,Fortran 2/7] Fortran: make some match* " Bernhard Reutner-Fischer
2021-10-26  9:37   ` Tobias Burnus
2021-10-24 22:30 ` [PATCH,Fortran 3/7] Fortran: make some constructor* " Bernhard Reutner-Fischer
2021-10-26  9:30   ` Tobias Burnus
2021-10-24 22:30 ` [PATCH,Fortran 4/7] Fortran: make some trans-array " Bernhard Reutner-Fischer
2021-10-26  9:39   ` Tobias Burnus
2021-10-24 22:30 ` [PATCH,Fortran 5/7] Fortran: Delete unused decl in trans-stmt.h Bernhard Reutner-Fischer
2021-10-26  9:40   ` Tobias Burnus
2021-10-24 22:30 ` [PATCH,Fortran 6/7] Fortran: Delete unused decl in trans-types.h Bernhard Reutner-Fischer
2021-10-26  9:40   ` Tobias Burnus
2021-10-24 22:30 ` [PATCH,Fortran 7/7] Fortran: Delete unused decl in intrinsic.h Bernhard Reutner-Fischer
2021-10-24 22:46 ` [PATCH,Fortran 0/7] delete some unused decls, make static Bernhard Reutner-Fischer
2021-10-25  9:25 ` Bernhard Reutner-Fischer
2021-10-29 18:13 ` missing simplify of CAF get_team [was: Re: [PATCH,Fortran 0/7] delete some unused decls, make static] Bernhard Reutner-Fischer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).