gas/ecoff.c: don't use zero struct copies to init
authorAlan Modra <amodra@gmail.com>
Fri, 10 Mar 2023 09:56:51 +0000 (20:26 +1030)
committerAlan Modra <amodra@gmail.com>
Tue, 14 Mar 2023 00:50:21 +0000 (11:20 +1030)
It might have made sense once upon a time, but doesn't nowadays when
compilers expand memset inline.

* ecoff.c (add_aux_sym_tir, allocate_scope, allocate_vlinks),
(allocate_shash, allocate_thash, allocate_tag, allocate_forward),
(allocate_thead, allocate_lineno_list): Use memset rather than
copying zero struct.

gas/ecoff.c

index ecafe270dd35e81a4ef0c97b203b918d2ef054a2..1c01911f55cb3e3d866fb77fce640267c737acb8 100644 (file)
@@ -1850,7 +1850,6 @@ add_aux_sym_tir (type_info_t *t,  /* current type information */
 {
   varray_t *vp;
   aux_t *aux_ptr;
-  static AUXU init_aux;
   symint_t ret;
   int i;
   AUXU aux;
@@ -1860,7 +1859,7 @@ add_aux_sym_tir (type_info_t *t,  /* current type information */
 
   vp = &cur_file_ptr->aux_syms;
 
-  aux = init_aux;
+  memset (&aux, 0, sizeof (aux));
   aux.ti.bt = (int) t->basic_type;
   aux.ti.continued = 0;
   aux.ti.fBitfield = t->bitfield;
@@ -4808,7 +4807,6 @@ static scope_t *
 allocate_scope (void)
 {
   scope_t *ptr;
-  static scope_t initial_scope;
 
 #ifndef MALLOC_CHECK
 
@@ -4838,7 +4836,7 @@ allocate_scope (void)
 #endif
 
   alloc_counts[(int) alloc_type_scope].total_alloc++;
-  *ptr = initial_scope;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }
 
@@ -4863,7 +4861,6 @@ static vlinks_t *
 allocate_vlinks (void)
 {
   vlinks_t *ptr;
-  static vlinks_t initial_vlinks;
 
 #ifndef MALLOC_CHECK
 
@@ -4887,7 +4884,7 @@ allocate_vlinks (void)
 #endif
 
   alloc_counts[(int) alloc_type_vlinks].total_alloc++;
-  *ptr = initial_vlinks;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }
 \f
@@ -4897,7 +4894,6 @@ static shash_t *
 allocate_shash (void)
 {
   shash_t *ptr;
-  static shash_t initial_shash;
 
 #ifndef MALLOC_CHECK
 
@@ -4921,7 +4917,7 @@ allocate_shash (void)
 #endif
 
   alloc_counts[(int) alloc_type_shash].total_alloc++;
-  *ptr = initial_shash;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }
 \f
@@ -4931,7 +4927,6 @@ static thash_t *
 allocate_thash (void)
 {
   thash_t *ptr;
-  static thash_t initial_thash;
 
 #ifndef MALLOC_CHECK
 
@@ -4955,7 +4950,7 @@ allocate_thash (void)
 #endif
 
   alloc_counts[(int) alloc_type_thash].total_alloc++;
-  *ptr = initial_thash;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }
 \f
@@ -4965,7 +4960,6 @@ static tag_t *
 allocate_tag (void)
 {
   tag_t *ptr;
-  static tag_t initial_tag;
 
 #ifndef MALLOC_CHECK
 
@@ -4995,7 +4989,7 @@ allocate_tag (void)
 #endif
 
   alloc_counts[(int) alloc_type_tag].total_alloc++;
-  *ptr = initial_tag;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }
 
@@ -5020,7 +5014,6 @@ static forward_t *
 allocate_forward (void)
 {
   forward_t *ptr;
-  static forward_t initial_forward;
 
 #ifndef MALLOC_CHECK
 
@@ -5044,7 +5037,7 @@ allocate_forward (void)
 #endif
 
   alloc_counts[(int) alloc_type_forward].total_alloc++;
-  *ptr = initial_forward;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }
 \f
@@ -5054,7 +5047,6 @@ static thead_t *
 allocate_thead (void)
 {
   thead_t *ptr;
-  static thead_t initial_thead;
 
 #ifndef MALLOC_CHECK
 
@@ -5084,7 +5076,7 @@ allocate_thead (void)
 #endif
 
   alloc_counts[(int) alloc_type_thead].total_alloc++;
-  *ptr = initial_thead;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }
 
@@ -5107,7 +5099,6 @@ static lineno_list_t *
 allocate_lineno_list (void)
 {
   lineno_list_t *ptr;
-  static lineno_list_t initial_lineno_list;
 
 #ifndef MALLOC_CHECK
 
@@ -5131,7 +5122,7 @@ allocate_lineno_list (void)
 #endif
 
   alloc_counts[(int) alloc_type_lineno].total_alloc++;
-  *ptr = initial_lineno_list;
+  memset (ptr, 0, sizeof (*ptr));
   return ptr;
 }