OSDN Git Service

remove useless if-before-free tests
authormeyering <meyering@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Apr 2011 18:19:03 +0000 (18:19 +0000)
committermeyering <meyering@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Apr 2011 18:19:03 +0000 (18:19 +0000)
Change "if (E) free (E);" to "free (E);" everywhere except in the
libgo/, intl/, zlib/ and classpath/ directories.
Also transform equivalent variants like
"if (E != NULL) free (E);" and allow an extra cast on the
argument to free.  Otherwise, the tested and freed "E"
expressions must be identical, modulo white space.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172785 138bc75d-0d04-0410-961f-82ee72b054a4

74 files changed:
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/initialize.c
gcc/c-family/ChangeLog
gcc/c-family/c-format.c
gcc/calls.c
gcc/cfgcleanup.c
gcc/collect2.c
gcc/config/i386/i386.c
gcc/config/mcore/mcore.c
gcc/coverage.c
gcc/cp/ChangeLog
gcc/cp/tree.c
gcc/cse.c
gcc/cselib.c
gcc/df-core.c
gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/fortran/gfortranspec.c
gcc/fortran/interface.c
gcc/fortran/trans-openmp.c
gcc/function.c
gcc/gcc.c
gcc/gcov.c
gcc/gensupport.c
gcc/graphite-clast-to-gimple.c
gcc/graphite-sese-to-poly.c
gcc/haifa-sched.c
gcc/ipa-prop.c
gcc/ipa-pure-const.c
gcc/ipa-reference.c
gcc/ira-costs.c
gcc/ira.c
gcc/java/ChangeLog
gcc/java/jcf-parse.c
gcc/matrix-reorg.c
gcc/prefix.c
gcc/profile.c
gcc/reload1.c
gcc/sched-deps.c
gcc/sel-sched-ir.c
gcc/sese.c
gcc/tree-data-ref.c
gcc/tree-eh.c
gcc/tree-ssa-coalesce.c
gcc/tree-ssa-live.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-pre.c
libcpp/ChangeLog
libcpp/files.c
libcpp/init.c
libcpp/macro.c
libcpp/pch.c
libdecnumber/ChangeLog
libdecnumber/decNumber.c
libgfortran/ChangeLog
libgfortran/intrinsics/move_alloc.c
libgfortran/io/fbuf.c
libgfortran/io/format.c
libgfortran/io/open.c
libgfortran/io/unit.c
libgfortran/io/unix.c
libiberty/ChangeLog
libiberty/cp-demint.c
libiberty/cplus-dem.c
libiberty/pex-common.c
libiberty/pex-msdos.c
libiberty/pex-win32.c
libiberty/regex.c
libiberty/spaces.c
libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/del_opnt.cc
lto-plugin/ChangeLog
lto-plugin/lto-plugin.c

index 6dade07..86a2b83 100644 (file)
@@ -1,3 +1,42 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       Remove useless if-before-free tests.
+       * calls.c (expand_call, save_area): Likewise.
+       * cfgcleanup.c (try_forward_edges): Likewise.
+       * collect2.c (collect_execute): Likewise.
+       * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
+       * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
+       * coverage.c (coverage_checksum_string): Likewise.
+       * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
+       * cselib.c (cselib_init): Likewise.
+       * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
+       (df_set_clean_cfg): Likewise.
+       * function.c (free_after_compilation): Likewise.
+       * gcc.c (do_spec_1, main): Likewise.
+       * gcov.c (create_file_names): Likewise.
+       * gensupport.c (identify_predicable_attribute): Likewise.
+       * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
+       * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
+       * haifa-sched.c (haifa_finish_h_i_d): Likewise.
+       * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
+       * ipa-pure-const.c (local_pure_const): Likewise.
+       * ipa-reference.c (propagate): Likewise.
+       * ira-costs.c (free_ira_costs): Likewise.
+       * ira.c (free_register_move_costs, build_insn_chain): Likewise.
+       * matrix-reorg.c (mat_free): Likewise.
+       * prefix.c (get_key_value): Likewise.
+       * profile.c (compute_value_histograms): Likewise.
+       * reload1.c (free_reg_equiv): Likewise.
+       * sched-deps.c (free_deps): Likewise.
+       * sel-sched-ir.c (fence_clear): Likewise.
+       * sese.c (set_rename, if_region_set_false_region): Likewise.
+       * tree-data-ref.c (free_rdg): Likewise.
+       * tree-eh.c (lower_try_finally): Likewise.
+       * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
+       * tree-ssa-live.c (delete_var_map): Likewise.
+       * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
+       * tree-ssa-pre.c (phi_trans_add): Likewise.
+
 2011-04-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/48611
index a738316..c2758d1 100644 (file)
@@ -1,3 +1,7 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * initialize.c (__gnat_initialize): Remove useless if-before-free.
+
 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
index 32ea0e5..e2ad904 100644 (file)
@@ -217,8 +217,7 @@ __gnat_initialize (void *eh ATTRIBUTE_UNUSED)
 
                     FindClose (hDir);
 
-                    if (dir != NULL)
-                      free (dir);
+                    free (dir);
                   }
               }
             else
index f8f0b4b..b0f27c5 100644 (file)
@@ -1,3 +1,8 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * c-format.c (init_dollar_format_checking): Remove useless
+       if-before-free.
+
 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * c-objc.h (objc_get_interface_ivars): Removed.
        * c-common.c: Include gt-c-family-c-common.h.
        * c-pragma.c: Include gt-c-family-c-pragma.h.
 \f
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2010, 2011 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
index 801e434..0c5115a 100644 (file)
@@ -1107,10 +1107,8 @@ init_dollar_format_checking (int first_arg_num, tree params)
     }
   if (dollar_arguments_alloc < dollar_arguments_count)
     {
-      if (dollar_arguments_used)
-       free (dollar_arguments_used);
-      if (dollar_arguments_pointer_p)
-       free (dollar_arguments_pointer_p);
+      free (dollar_arguments_used);
+      free (dollar_arguments_pointer_p);
       dollar_arguments_alloc = dollar_arguments_count;
       dollar_arguments_used = XNEWVEC (char, dollar_arguments_alloc);
       dollar_arguments_pointer_p = XNEWVEC (char, dollar_arguments_alloc);
index 2e79777..bb95852 100644 (file)
@@ -2555,8 +2555,7 @@ expand_call (tree exp, rtx target, int ignore)
                  highest_outgoing_arg_in_use = MAX (initial_highest_arg_in_use,
                                                     needed);
 #endif
-                 if (stack_usage_map_buf)
-                   free (stack_usage_map_buf);
+                 free (stack_usage_map_buf);
                  stack_usage_map_buf = XNEWVEC (char, highest_outgoing_arg_in_use);
                  stack_usage_map = stack_usage_map_buf;
 
@@ -2661,8 +2660,7 @@ expand_call (tree exp, rtx target, int ignore)
                    = stack_arg_under_construction;
                  stack_arg_under_construction = 0;
                  /* Make a new map for the new argument list.  */
-                 if (stack_usage_map_buf)
-                   free (stack_usage_map_buf);
+                 free (stack_usage_map_buf);
                  stack_usage_map_buf = XCNEWVEC (char, highest_outgoing_arg_in_use);
                  stack_usage_map = stack_usage_map_buf;
                  highest_outgoing_arg_in_use = 0;
@@ -3152,8 +3150,7 @@ expand_call (tree exp, rtx target, int ignore)
 
       /* Free up storage we no longer need.  */
       for (i = 0; i < num_actuals; ++i)
-       if (args[i].aligned_regs)
-         free (args[i].aligned_regs);
+       free (args[i].aligned_regs);
 
       insns = get_insns ();
       end_sequence ();
@@ -3208,8 +3205,7 @@ expand_call (tree exp, rtx target, int ignore)
 
   currently_expanding_call--;
 
-  if (stack_usage_map_buf)
-    free (stack_usage_map_buf);
+  free (stack_usage_map_buf);
 
   return target;
 }
@@ -3966,8 +3962,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
       stack_usage_map = initial_stack_usage_map;
     }
 
-  if (stack_usage_map_buf)
-    free (stack_usage_map_buf);
+  free (stack_usage_map_buf);
 
   return value;
 
index 98c51ad..179cd00 100644 (file)
@@ -646,8 +646,7 @@ try_forward_edges (int mode, basic_block b)
       ei_next (&ei);
     }
 
-  if (threaded_edges)
-    free (threaded_edges);
+  free (threaded_edges);
   return changed;
 }
 \f
index 373483b..0c554f0 100644 (file)
@@ -2087,8 +2087,7 @@ collect_execute (const char *prog, char **argv, const char *outname,
        fatal (errmsg);
     }
 
-  if (response_arg)
-    free (response_arg);
+  free (response_arg);
 
   return pex;
 }
index b6d41f0..80cb104 100644 (file)
@@ -4783,8 +4783,7 @@ ix86_valid_target_attribute_tree (tree args)
 
       /* Free up memory allocated to hold the strings */
       for (i = 0; i < IX86_FUNCTION_SPECIFIC_MAX; i++)
-       if (option_strings[i])
-         free (option_strings[i]);
+       free (option_strings[i]);
     }
 
   return t;
index 093ac2f..741452e 100644 (file)
@@ -1980,8 +1980,7 @@ mcore_expand_prolog (void)
       
       gcc_assert (GET_CODE (x) == SYMBOL_REF);
       
-      if (mcore_current_function_name)
-       free (mcore_current_function_name);
+      free (mcore_current_function_name);
       
       mcore_current_function_name = xstrdup (XSTR (x, 0));
       
index 79d20ab..58b7c69 100644 (file)
@@ -522,8 +522,7 @@ coverage_checksum_string (unsigned chksum, const char *string)
     }
 
   chksum = crc32_string (chksum, string);
-  if (dup)
-    free (dup);
+  free (dup);
 
   return chksum;
 }
index c7068ab..e854651 100644 (file)
@@ -1,3 +1,7 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * tree.c (cxx_printable_name_internal): Remove useless if-before-free.
+
 2011-04-19  Jason Merrill  <jason@redhat.com>
 
        PR c++/46304
index 25f2c32..23daa6c 100644 (file)
@@ -1509,8 +1509,7 @@ cxx_printable_name_internal (tree decl, int v, bool translate)
       gcc_assert (uid_ring[ring_counter] != DECL_UID (current_function_decl));
     }
 
-  if (print_ring[ring_counter])
-    free (print_ring[ring_counter]);
+  free (print_ring[ring_counter]);
 
   print_ring[ring_counter] = xstrdup (lang_decl_name (decl, v, translate));
   uid_ring[ring_counter] = DECL_UID (decl);
index f7b477c..d83b38a 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -796,8 +796,7 @@ init_cse_reg_info (unsigned int nregs)
        }
 
       /* Reallocate the table with NEW_SIZE entries.  */
-      if (cse_reg_info_table)
-       free (cse_reg_info_table);
+      free (cse_reg_info_table);
       cse_reg_info_table = XNEWVEC (struct cse_reg_info, new_size);
       cse_reg_info_table_size = new_size;
       cse_reg_info_table_first_uninitialized = 0;
@@ -6975,8 +6974,7 @@ delete_trivially_dead_insns (rtx insns, int nreg)
                df_insn_rescan (insn);
              }
          }
-      if (replacements)
-       free (replacements);
+      free (replacements);
     }
 
   if (dump_file && ndead)
index dff0967..56e6d17 100644 (file)
@@ -2462,8 +2462,7 @@ cselib_init (int record_what)
   if (!reg_values || reg_values_size < cselib_nregs
       || (reg_values_size > 10 && reg_values_size > cselib_nregs * 4))
     {
-      if (reg_values)
-       free (reg_values);
+      free (reg_values);
       /* Some space for newly emit instructions so we don't end up
         reallocating in between passes.  */
       reg_values_size = cselib_nregs + (63 + cselib_nregs) / 16;
index 98c2088..9f3ea42 100644 (file)
@@ -811,10 +811,8 @@ rest_of_handle_df_finish (void)
       dflow->problem->free_fun ();
     }
 
-  if (df->postorder)
-    free (df->postorder);
-  if (df->postorder_inverted)
-    free (df->postorder_inverted);
+  free (df->postorder);
+  free (df->postorder_inverted);
   free (df->hard_regs_live_count);
   free (df);
   df = NULL;
@@ -1183,10 +1181,8 @@ df_analyze (void)
   bool everything;
   int i;
 
-  if (df->postorder)
-    free (df->postorder);
-  if (df->postorder_inverted)
-    free (df->postorder_inverted);
+  free (df->postorder);
+  free (df->postorder_inverted);
   df->postorder = XNEWVEC (int, last_basic_block);
   df->postorder_inverted = XNEWVEC (int, last_basic_block);
   df->n_blocks = post_order_compute (df->postorder, true, true);
@@ -1725,8 +1721,7 @@ df_check_cfg_clean (void)
 static void
 df_set_clean_cfg (void)
 {
-  if (saved_cfg)
-    free (saved_cfg);
+  free (saved_cfg);
   saved_cfg = df_compute_cfg_image ();
 }
 
index 7a857a4..9e949b3 100644 (file)
@@ -1,3 +1,10 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * expr.c (free_expr0): Remove useless if-before-free.
+       * gfortranspec.c (lang_specific_pre_link): Likewise.
+       * interface.c (gfc_extend_expr): Likewise.
+       * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
+
 2011-04-19  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/48588
index 42b65c6..dae2149 100644 (file)
@@ -433,8 +433,7 @@ free_expr0 (gfc_expr *e)
        }
 
       /* Free the representation.  */
-      if (e->representation.string)
-       free (e->representation.string);
+      free (e->representation.string);
 
       break;
 
index 2d732fd..4d939a0 100644 (file)
@@ -472,9 +472,8 @@ For more information about these matters, see the file named COPYING\n\n"));
 int
 lang_specific_pre_link (void)
 {
-  if (spec_file)
-    free (spec_file);
-  else if (library)
+  free (spec_file);
+  if (spec_file == NULL && library)
     do_spec ("%:include(libgfortran.spec)");
 
   return 0;
index 872d489..5e7a1dc 100644 (file)
@@ -3141,8 +3141,7 @@ gfc_extend_expr (gfc_expr *e, bool *real_error)
        }
 
       /* Don't use gfc_free_actual_arglist().  */
-      if (actual->next != NULL)
-       free (actual->next);
+      free (actual->next);
       free (actual);
 
       return FAILURE;
index d709fdf..625daeb 100644 (file)
@@ -714,8 +714,7 @@ gfc_trans_omp_array_reduction (tree c, gfc_symbol *sym, locus where)
   free (symtree1);
   free (symtree2);
   free (symtree3);
-  if (symtree4)
-    free (symtree4);
+  free (symtree4);
   gfc_free_array_spec (outer_sym.as);
 }
 
index c14a339..d7d56dd 100644 (file)
@@ -211,8 +211,7 @@ free_after_compilation (struct function *f)
   prologue_insn_hash = NULL;
   epilogue_insn_hash = NULL;
 
-  if (crtl->emit.regno_pointer_align)
-    free (crtl->emit.regno_pointer_align);
+  free (crtl->emit.regno_pointer_align);
 
   memset (crtl, 0, sizeof (struct rtl_data));
   f->eh = NULL;
index 7ad959a..f9a2bb2 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -4806,8 +4806,7 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
                    t->filename_length = temp_filename_length;
                  }
 
-               if (saved_suffix)
-                 free (saved_suffix);
+               free (saved_suffix);
 
                obstack_grow (&obstack, t->filename, t->filename_length);
                delete_this_arg = 1;
@@ -6724,12 +6723,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
            {
              if (compare_debug)
                {
-                 if (debug_check_temp_file[0])
-                   free (debug_check_temp_file[0]);
+                 free (debug_check_temp_file[0]);
                  debug_check_temp_file[0] = NULL;
 
-                 if (debug_check_temp_file[1])
-                   free (debug_check_temp_file[1]);
+                 free (debug_check_temp_file[1]);
                  debug_check_temp_file[1] = NULL;
                }
 
@@ -6773,12 +6770,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
 
              if (compare_debug)
                {
-                 if (debug_check_temp_file[0])
-                   free (debug_check_temp_file[0]);
+                 free (debug_check_temp_file[0]);
                  debug_check_temp_file[0] = NULL;
 
-                 if (debug_check_temp_file[1])
-                   free (debug_check_temp_file[1]);
+                 free (debug_check_temp_file[1]);
                  debug_check_temp_file[1] = NULL;
                }
            }
index 56fff3a..bb27913 100644 (file)
@@ -661,10 +661,8 @@ create_file_names (const char *file_name)
   int base;
 
   /* Free previous file names.  */
-  if (bbg_file_name)
-    free (bbg_file_name);
-  if (da_file_name)
-    free (da_file_name);
+  free (bbg_file_name);
+  free (da_file_name);
   da_file_name = bbg_file_name = NULL;
   bbg_file_time = 0;
   bbg_stamp = 0;
index d2c2f71..682d2ac 100644 (file)
@@ -594,8 +594,7 @@ identify_predicable_attribute (void)
   if (p_true == NULL || strchr (++p_true, ',') != NULL)
     {
       error_with_line (elem->lineno, "attribute `predicable' is not a boolean");
-      if (p_false)
-        free (p_false);
+      free (p_false);
       return;
     }
   p_true[-1] = '\0';
@@ -611,15 +610,13 @@ identify_predicable_attribute (void)
 
     case CONST:
       error_with_line (elem->lineno, "attribute `predicable' cannot be const");
-      if (p_false)
-       free (p_false);
+      free (p_false);
       return;
 
     default:
       error_with_line (elem->lineno,
                       "attribute `predicable' must have a constant default");
-      if (p_false)
-       free (p_false);
+      free (p_false);
       return;
     }
 
@@ -631,8 +628,7 @@ identify_predicable_attribute (void)
     {
       error_with_line (elem->lineno,
                       "unknown value `%s' for `predicable' attribute", value);
-      if (p_false)
-       free (p_false);
+      free (p_false);
     }
 }
 
index 41356dc..c8356d3 100644 (file)
@@ -114,8 +114,7 @@ save_clast_name_index (htab_t index_table, const char *name, int index)
 
   if (slot)
     {
-      if (*slot)
-       free (*slot);
+      free (*slot);
 
       *slot = new_clast_name_index (name, index);
     }
index 064ded3..7474be0 100644 (file)
@@ -190,8 +190,7 @@ free_data_refs_aux (VEC (data_reference_p, heap) *datarefs)
       {
        base_alias_pair *bap = (base_alias_pair *)(dr->aux);
 
-       if (bap->alias_set)
-         free (bap->alias_set);
+       free (bap->alias_set);
 
        free (bap);
        dr->aux = NULL;
index e2d389b..d67aee8 100644 (file)
@@ -5582,8 +5582,7 @@ haifa_finish_h_i_d (void)
 
   FOR_EACH_VEC_ELT (haifa_insn_data_def, h_i_d, i, data)
     {
-      if (data->reg_pressure != NULL)
-       free (data->reg_pressure);
+      free (data->reg_pressure);
       for (use = data->reg_use_list; use != NULL; use = next)
        {
          next = use->next_insn_use;
index 3fdebc1..d738654 100644 (file)
@@ -1936,8 +1936,7 @@ ipa_free_all_edge_args (void)
 void
 ipa_free_node_params_substructures (struct ipa_node_params *info)
 {
-  if (info->params)
-    free (info->params);
+  free (info->params);
 
   memset (info, 0, sizeof (*info));
 }
index eb5b0f6..67022c4 100644 (file)
@@ -1662,8 +1662,7 @@ local_pure_const (void)
                 lang_hooks.decl_printable_name (current_function_decl,
                                                 2));
     }
-  if (l)
-    free (l);
+  free (l);
   if (changed)
     return execute_fixup_cfg ();
   else
index f874a2e..40fa6bc 100644 (file)
@@ -913,8 +913,7 @@ propagate (void)
                                  node_g->statics_written);
            }
        }
-      if (node_info)
-       free (node_info);
+      free (node_info);
       if (node->aux)
        {
          free (node->aux);
index 3b113b6..de894a2 100644 (file)
@@ -1968,19 +1968,15 @@ free_ira_costs (void)
 {
   int i;
 
-  if (init_cost != NULL)
-    free (init_cost);
+  free (init_cost);
   init_cost = NULL;
   for (i = 0; i < MAX_RECOG_OPERANDS; i++)
     {
-      if (op_costs[i] != NULL)
-       free (op_costs[i]);
-      if (this_op_costs[i] != NULL)
-       free (this_op_costs[i]);
+      free (op_costs[i]);
+      free (this_op_costs[i]);
       op_costs[i] = this_op_costs[i] = NULL;
     }
-  if (temp_costs != NULL)
-    free (temp_costs);
+  free (temp_costs);
   temp_costs = NULL;
 }
 
index 054f4ca..49f3e76 100644 (file)
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -1556,16 +1556,11 @@ free_register_move_costs (void)
 
   for (mode = 0; mode < MAX_MACHINE_MODE; mode++)
     {
-      if (ira_max_register_move_cost[mode] != NULL)
-       free (ira_max_register_move_cost[mode]);
-      if (ira_may_move_in_cost[mode] != NULL)
-       free (ira_may_move_in_cost[mode]);
-      if (ira_may_move_out_cost[mode] != NULL)
-       free (ira_may_move_out_cost[mode]);
-      if (ira_max_may_move_in_cost[mode] != NULL)
-       free (ira_max_may_move_in_cost[mode]);
-      if (ira_max_may_move_out_cost[mode] != NULL)
-       free (ira_max_may_move_out_cost[mode]);
+      free (ira_max_register_move_cost[mode]);
+      free (ira_may_move_in_cost[mode]);
+      free (ira_may_move_out_cost[mode]);
+      free (ira_max_may_move_in_cost[mode]);
+      free (ira_max_may_move_out_cost[mode]);
       ira_register_move_cost[mode] = NULL;
       ira_max_register_move_cost[mode] = NULL;
       ira_may_move_in_cost[mode] = NULL;
@@ -3461,8 +3456,7 @@ build_insn_chain (void)
     }
 
   for (i = 0; i < (unsigned int) max_regno; i++)
-    if (live_subregs[i])
-      free (live_subregs[i]);
+    free (live_subregs[i]);
 
   reload_insn_chain = c;
   *p = NULL;
index 5ddbc9d..dec7e0b 100644 (file)
@@ -1,3 +1,7 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * jcf-parse.c (java_parse_file): Remove useless if-before-free.
+
 2011-04-18  Jim Meyering  <meyering@redhat.com>
 
        * jcf-parse.c: Fix typo in comment.
@@ -22471,7 +22475,7 @@ Tue Mar  9 11:52:08 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 \f
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+2006, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
index a56c1b7..37cea28 100644 (file)
@@ -1843,8 +1843,7 @@ java_parse_file (void)
       list = next;
     }
 
-  if (file_list != NULL)
-    free (file_list);
+  free (file_list);
 
   if (filename_count == 0)
     warning (0, "no input file specified");
index 44daa27..6f75d33 100644 (file)
@@ -529,12 +529,9 @@ mat_free (void *e)
   if (!mat)
     return;
 
-  if (mat->free_stmts)
-    free (mat->free_stmts);
-  if (mat->dim_hot_level)
-    free (mat->dim_hot_level);
-  if (mat->malloc_for_level)
-    free (mat->malloc_for_level);
+  free (mat->free_stmts);
+  free (mat->dim_hot_level);
+  free (mat->malloc_for_level);
 }
 
 /* Find all potential matrices.
index 67ebdd9..90261ae 100644 (file)
@@ -103,8 +103,7 @@ get_key_value (char *key)
   if (prefix == 0)
     prefix = std_prefix;
 
-  if (temp)
-    free (temp);
+  free (temp);
 
   return prefix;
 }
index fd37748..e40bfec 100644 (file)
@@ -828,8 +828,7 @@ compute_value_histograms (histogram_values values)
     }
 
   for (t = 0; t < GCOV_N_VALUE_COUNTERS; t++)
-    if (histogram_counts[t])
-      free (histogram_counts[t]);
+    free (histogram_counts[t]);
 }
 
 /* The entry basic block will be moved around so that it has index=1,
index 058b5e9..7fb4270 100644 (file)
@@ -4213,10 +4213,8 @@ free_reg_equiv (void)
   int i;
 
 
-  if (offsets_known_at)
-    free (offsets_known_at);
-  if (offsets_at)
-    free (offsets_at);
+  free (offsets_known_at);
+  free (offsets_at);
   offsets_at = 0;
   offsets_known_at = 0;
 
index 6abef8b..09bf65d 100644 (file)
@@ -3547,8 +3547,7 @@ free_deps (struct deps_desc *deps)
 
   /* As we initialize reg_last lazily, it is possible that we didn't allocate
      it at all.  */
-  if (deps->reg_last)
-    free (deps->reg_last);
+  free (deps->reg_last);
   deps->reg_last = NULL;
 
   deps = NULL;
index a6daa58..a12617c 100644 (file)
@@ -581,8 +581,7 @@ fence_clear (fence_t f)
   gcc_assert ((s != NULL && dc != NULL && tc != NULL)
              || (s == NULL && dc == NULL && tc == NULL));
 
-  if (s != NULL)
-    free (s);
+  free (s);
 
   if (dc != NULL)
     delete_deps_context (dc);
index bfb0276..3ce83b9 100644 (file)
@@ -449,8 +449,7 @@ set_rename (htab_t rename_map, tree old_name, tree expr)
   if (!slot)
     return;
 
-  if (*slot)
-    free (*slot);
+  free (*slot);
 
   *slot = new_rename_map_elt (old_name, expr);
 }
@@ -676,8 +675,7 @@ if_region_set_false_region (ifsese if_region, sese region)
 
   SESE_EXIT (region) = false_edge;
 
-  if (if_region->false_region)
-    free (if_region->false_region);
+  free (if_region->false_region);
   if_region->false_region = region;
 
   if (slot)
index e01c677..0460605 100644 (file)
@@ -5127,11 +5127,9 @@ free_rdg (struct graph *rdg)
       struct graph_edge *e;
 
       for (e = v->succ; e; e = e->succ_next)
-       if (e->data)
-         free (e->data);
+       free (e->data);
 
-      if (v->data)
-       free (v->data);
+      free (v->data);
     }
 
   htab_delete (rdg->indices);
index 76453b8..60e2236 100644 (file)
@@ -1619,8 +1619,7 @@ lower_try_finally (struct leh_state *state, gimple tp)
     }
 
   VEC_free (tree, heap, this_tf.dest_array);
-  if (this_tf.goto_queue)
-    free (this_tf.goto_queue);
+  free (this_tf.goto_queue);
   if (this_tf.goto_queue_map)
     pointer_map_destroy (this_tf.goto_queue_map);
 
index e7490e6..2dfe37e 100644 (file)
@@ -242,8 +242,7 @@ delete_coalesce_list (coalesce_list_p cl)
 {
   gcc_assert (cl->cost_one_list == NULL);
   htab_delete (cl->list);
-  if (cl->sorted)
-    free (cl->sorted);
+  free (cl->sorted);
   gcc_assert (cl->num_sorted == 0);
   free (cl);
 }
index c99d987..4216b22 100644 (file)
@@ -157,10 +157,8 @@ delete_var_map (var_map map)
 {
   var_map_base_fini (map);
   partition_delete (map->var_partition);
-  if (map->partition_to_view)
-    free (map->partition_to_view);
-  if (map->view_to_partition)
-    free (map->view_to_partition);
+  free (map->partition_to_view);
+  free (map->view_to_partition);
   free (map);
 }
 
index 0aa21e0..b00b8d4 100644 (file)
@@ -6254,8 +6254,7 @@ free_loop_data (struct ivopts_data *data)
       struct version_info *info;
 
       info = ver_info (data, i);
-      if (info->iv)
-       free (info->iv);
+      free (info->iv);
       info->iv = NULL;
       info->has_nonlin_use = false;
       info->preserve_biv = false;
@@ -6282,8 +6281,7 @@ free_loop_data (struct ivopts_data *data)
     {
       struct iv_cand *cand = iv_cand (data, i);
 
-      if (cand->iv)
-       free (cand->iv);
+      free (cand->iv);
       if (cand->depends_on)
        BITMAP_FREE (cand->depends_on);
       free (cand);
index ee9ee6f..a833a04 100644 (file)
@@ -580,8 +580,7 @@ phi_trans_add (pre_expr e, pre_expr v, basic_block pred)
 
   slot = htab_find_slot_with_hash (phi_translate_table, new_pair,
                                   new_pair->hashcode, INSERT);
-  if (*slot)
-    free (*slot);
+  free (*slot);
   *slot = (void *) new_pair;
 }
 
index cfd07d4..eb93719 100644 (file)
@@ -1,3 +1,10 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * files.c (destroy_cpp_file): Remove useless if-before-free.
+       * init.c (cpp_destroy): Likewise.
+       * macro.c (replace_args): Likewise.
+       * pch.c (cpp_valid_state): Likewise.
+
 2011-03-25  Kai Tietz  <ktietz@redhat.com>
 
        * files.c (file_hash_eq): Use filename_cmp
index e3cff49..cd0bc48 100644 (file)
@@ -996,8 +996,7 @@ make_cpp_file (cpp_reader *pfile, cpp_dir *dir, const char *fname)
 static void
 destroy_cpp_file (_cpp_file *file)
 {
-  if (file->buffer_start)
-    free ((void *) file->buffer_start);
+  free ((void *) file->buffer_start);
   free ((void *) file->name);
   free (file);
 }
index 5c6dacf..5ba6666 100644 (file)
@@ -259,8 +259,7 @@ cpp_destroy (cpp_reader *pfile)
   while (CPP_BUFFER (pfile) != NULL)
     _cpp_pop_buffer (pfile);
 
-  if (pfile->out.base)
-    free (pfile->out.base);
+  free (pfile->out.base);
 
   if (pfile->macro_buffer)
     {
index d9324a3..eba2349 100644 (file)
@@ -1064,8 +1064,7 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, macro_arg
 
   /* Free the expanded arguments.  */
   for (i = 0; i < macro->paramc; i++)
-    if (args[i].expanded)
-      free (args[i].expanded);
+    free (args[i].expanded);
 
   push_ptoken_context (pfile, node, buff, first, dest - first);
 }
index 00b7794..d278f14 100644 (file)
@@ -713,12 +713,9 @@ cpp_valid_state (cpp_reader *r, const char *name, int fd)
   return -1;
 
  fail:
-  if (namebuf != NULL)
-    free (namebuf);
-  if (undeftab != NULL)
-    free (undeftab);
-  if (nl.defs != NULL)
-    free (nl.defs);
+  free (namebuf);
+  free (undeftab);
+  free (nl.defs);
   return 1;
 }
 
index 75e4a8e..8a19499 100644 (file)
@@ -1,3 +1,12 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * decNumber.c (decNumberFromString): Remove useless
+       if-before-free test.
+       (decNumberCompareTotalMag, decNumberExp, decNumberFMA): Likewise.
+       (decNumberLn, decNumberLog10, decNumberPower): Likewise.
+       (decNumberReduce, decNumberSquareRoot, decAddOp): Likewise.
+       (decDivideOp, NEEDTWO, decExpOp, LN2): Likewise.
+
 2011-03-28  Mike Frysinger  <vapier@gentoo.org>
 
        * .gitignore: New file.
index d097cab..cf2d32e 100644 (file)
@@ -711,7 +711,7 @@ decNumber * decNumberFromString(decNumber *dn, const char chars[],
     /* decNumberShow(dn); */
     } while(0);                        /* [for break] */
 
-  if (allocres!=NULL) free(allocres);  /* drop any storage used */
+  free(allocres);      /* drop any storage used */
   if (status!=0) decStatus(dn, status, set);
   return dn;
   } /* decNumberFromString */
@@ -970,8 +970,8 @@ decNumber * decNumberCompareTotalMag(decNumber *res, const decNumber *lhs,
     decCompareOp(res, lhs, rhs, set, COMPTOTAL, &status);
     } while(0);                        /* end protected */
 
-  if (allocbufa!=NULL) free(allocbufa); /* drop any storage used */
-  if (allocbufb!=NULL) free(allocbufb); /* .. */
+  free(allocbufa); /* drop any storage used */
+  free(allocbufb); /* .. */
   if (status!=0) decStatus(res, status, set);
   return res;
   } /* decNumberCompareTotalMag */
@@ -1074,7 +1074,7 @@ decNumber * decNumberExp(decNumber *res, const decNumber *rhs,
     } while(0);                        /* end protected */
 
   #if DECSUBSET
-  if (allocrhs !=NULL) free(allocrhs); /* drop any storage used */
+  free(allocrhs);      /* drop any storage used */
   #endif
   /* apply significant status */
   if (status!=0) decStatus(res, status, set);
@@ -1169,7 +1169,7 @@ decNumber * decNumberFMA(decNumber *res, const decNumber *lhs,
     decAddOp(res, acc, fhs, set, 0, &status);
     } while(0);                        /* end protected */
 
-  if (allocbufa!=NULL) free(allocbufa); /* drop any storage used */
+  free(allocbufa); /* drop any storage used */
   if (status!=0) decStatus(res, status, set);
   #if DECCHECK
   decCheckInexact(res, set);
@@ -1296,7 +1296,7 @@ decNumber * decNumberLn(decNumber *res, const decNumber *rhs,
     } while(0);                        /* end protected */
 
   #if DECSUBSET
-  if (allocrhs !=NULL) free(allocrhs); /* drop any storage used */
+  free(allocrhs);      /* drop any storage used */
   #endif
   /* apply significant status */
   if (status!=0) decStatus(res, status, set);
@@ -1509,10 +1509,10 @@ decNumber * decNumberLog10(decNumber *res, const decNumber *rhs,
     decDivideOp(res, a, b, &aset, DIVIDE, &status); /* into result */
     } while(0);                        /* [for break] */
 
-  if (allocbufa!=NULL) free(allocbufa); /* drop any storage used */
-  if (allocbufb!=NULL) free(allocbufb); /* .. */
+  free(allocbufa); /* drop any storage used */
+  free(allocbufb); /* .. */
   #if DECSUBSET
-  if (allocrhs !=NULL) free(allocrhs); /* .. */
+  free(allocrhs);      /* .. */
   #endif
   /* apply significant status */
   if (status!=0) decStatus(res, status, set);
@@ -2253,11 +2253,11 @@ decNumber * decNumberPower(decNumber *res, const decNumber *lhs,
     #endif
     } while(0);                        /* end protected */
 
-  if (allocdac!=NULL) free(allocdac);  /* drop any storage used */
-  if (allocinv!=NULL) free(allocinv);  /* .. */
+  free(allocdac);      /* drop any storage used */
+  free(allocinv);      /* .. */
   #if DECSUBSET
-  if (alloclhs!=NULL) free(alloclhs);  /* .. */
-  if (allocrhs!=NULL) free(allocrhs);  /* .. */
+  free(alloclhs);      /* .. */
+  free(allocrhs);      /* .. */
   #endif
   if (status!=0) decStatus(res, status, set);
   #if DECCHECK
@@ -2349,7 +2349,7 @@ decNumber * decNumberReduce(decNumber *res, const decNumber *rhs,
     } while(0);                             /* end protected */
 
   #if DECSUBSET
-  if (allocrhs !=NULL) free(allocrhs);      /* .. */
+  free(allocrhs);           /* .. */
   #endif
   if (status!=0) decStatus(res, status, set);/* then report status */
   return res;
@@ -3111,11 +3111,11 @@ decNumber * decNumberSquareRoot(decNumber *res, const decNumber *rhs,
     decNumberCopy(res, a);                  /* a is now the result */
     } while(0);                             /* end protected */
 
-  if (allocbuff!=NULL) free(allocbuff);      /* drop any storage used */
-  if (allocbufa!=NULL) free(allocbufa);      /* .. */
-  if (allocbufb!=NULL) free(allocbufb);      /* .. */
+  free(allocbuff);      /* drop any storage used */
+  free(allocbufa);      /* .. */
+  free(allocbufb);      /* .. */
   #if DECSUBSET
-  if (allocrhs !=NULL) free(allocrhs);      /* .. */
+  free(allocrhs);           /* .. */
   #endif
   if (status!=0) decStatus(res, status, set);/* then report status */
   #if DECCHECK
@@ -4130,10 +4130,10 @@ static decNumber * decAddOp(decNumber *res, const decNumber *lhs,
       }
     } while(0);                             /* end protected */
 
-  if (allocacc!=NULL) free(allocacc);       /* drop any storage used */
+  free(allocacc);           /* drop any storage used */
   #if DECSUBSET
-  if (allocrhs!=NULL) free(allocrhs);       /* .. */
-  if (alloclhs!=NULL) free(alloclhs);       /* .. */
+  free(allocrhs);           /* .. */
+  free(alloclhs);           /* .. */
   #endif
   return res;
   } /* decAddOp */
@@ -4782,11 +4782,11 @@ static decNumber * decDivideOp(decNumber *res,
     #endif
     } while(0);                             /* end protected */
 
-  if (varalloc!=NULL) free(varalloc);  /* drop any storage used */
-  if (allocacc!=NULL) free(allocacc);  /* .. */
+  free(varalloc);      /* drop any storage used */
+  free(allocacc);      /* .. */
   #if DECSUBSET
-  if (allocrhs!=NULL) free(allocrhs);  /* .. */
-  if (alloclhs!=NULL) free(alloclhs);  /* .. */
+  free(allocrhs);      /* .. */
+  free(alloclhs);      /* .. */
   #endif
   return res;
   } /* decDivideOp */
@@ -5127,14 +5127,14 @@ static decNumber * decMultiplyOp(decNumber *res, const decNumber *lhs,
     decFinish(res, set, &residue, status);   /* final cleanup */
     } while(0);                        /* end protected */
 
-  if (allocacc!=NULL) free(allocacc);  /* drop any storage used */
+  free(allocacc);      /* drop any storage used */
   #if DECSUBSET
-  if (allocrhs!=NULL) free(allocrhs);  /* .. */
-  if (alloclhs!=NULL) free(alloclhs);  /* .. */
+  free(allocrhs);      /* .. */
+  free(alloclhs);      /* .. */
   #endif
   #if FASTMUL
-  if (allocrhi!=NULL) free(allocrhi);  /* .. */
-  if (alloclhi!=NULL) free(alloclhi);  /* .. */
+  free(allocrhi);      /* .. */
+  free(alloclhi);      /* .. */
   #endif
   return res;
   } /* decMultiplyOp */
@@ -5483,9 +5483,9 @@ decNumber * decExpOp(decNumber *res, const decNumber *rhs,
     decFinish(res, set, &residue, status);      /* cleanup/set flags */
     } while(0);                        /* end protected */
 
-  if (allocrhs !=NULL) free(allocrhs); /* drop any storage used */
-  if (allocbufa!=NULL) free(allocbufa); /* .. */
-  if (allocbuft!=NULL) free(allocbuft); /* .. */
+  free(allocrhs);      /* drop any storage used */
+  free(allocbufa); /* .. */
+  free(allocbuft); /* .. */
   /* [status is handled by caller] */
   return res;
   } /* decExpOp */
@@ -5794,8 +5794,8 @@ decNumber * decLnOp(decNumber *res, const decNumber *rhs,
     decFinish(res, set, &residue, status);      /* cleanup/set flags */
     } while(0);                        /* end protected */
 
-  if (allocbufa!=NULL) free(allocbufa); /* drop any storage used */
-  if (allocbufb!=NULL) free(allocbufb); /* .. */
+  free(allocbufa); /* drop any storage used */
+  free(allocbufb); /* .. */
   /* [status is handled by caller] */
   return res;
   } /* decLnOp */
@@ -5959,8 +5959,8 @@ static decNumber * decQuantizeOp(decNumber *res, const decNumber *lhs,
     } while(0);                        /* end protected */
 
   #if DECSUBSET
-  if (allocrhs!=NULL) free(allocrhs);  /* drop any storage used */
-  if (alloclhs!=NULL) free(alloclhs);  /* .. */
+  free(allocrhs);      /* drop any storage used */
+  free(alloclhs);      /* .. */
   #endif
   return res;
   } /* decQuantizeOp */
@@ -6142,8 +6142,8 @@ decNumber * decCompareOp(decNumber *res, const decNumber *lhs,
       }
     }
   #if DECSUBSET
-  if (allocrhs!=NULL) free(allocrhs);  /* free any storage used */
-  if (alloclhs!=NULL) free(alloclhs);  /* .. */
+  free(allocrhs);      /* free any storage used */
+  free(alloclhs);      /* .. */
   #endif
   return res;
   } /* decCompareOp */
@@ -6277,7 +6277,7 @@ static Int decUnitCompare(const Unit *a, Int alength,
     result=(*u==0 ? 0 : +1);
     }
   /* clean up and return the result */
-  if (allocacc!=NULL) free(allocacc);  /* drop any storage used */
+  free(allocacc);      /* drop any storage used */
   return result;
   } /* decUnitCompare */
 
index 205243e..11202c3 100644 (file)
@@ -1,3 +1,13 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * intrinsics/move_alloc.c (move_alloc): Remove useless
+       if-before-free test.
+       * io/fbuf.c (fbuf_destroy): Likewise.
+       * io/format.c (save_parsed_format): Likewise.
+       * io/open.c (already_open): Likewise.
+       * io/unit.c (free_internal_unit, close_unit_1): Likewise.
+       * io/unix.c (mem_close): Likewise.
+
 2011-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libgfortran/48602
index 9b5497c..f76c20c 100644 (file)
@@ -37,8 +37,7 @@ move_alloc (gfc_array_char * from, gfc_array_char * to)
 {
   int i;
 
-  if (to->data)
-    free (to->data);
+  free (to->data);
 
   for (i = 0; i < GFC_DESCRIPTOR_RANK (from); i++)
     {
index 82b3f6b..353e5ae 100644 (file)
@@ -51,8 +51,7 @@ fbuf_destroy (gfc_unit * u)
 {
   if (u->fbuf == NULL)
     return;
-  if (u->fbuf->buf)
-    free (u->fbuf->buf);
+  free (u->fbuf->buf);
   free (u->fbuf);
   u->fbuf = NULL;
 }
index 5760e0c..518dc80 100644 (file)
@@ -149,8 +149,7 @@ save_parsed_format (st_parameter_dt *dtp)
     free_format_data (u->format_hash_table[hash].hashed_fmt);
   u->format_hash_table[hash].hashed_fmt = NULL;
 
-  if (u->format_hash_table[hash].key != NULL)
-    free (u->format_hash_table[hash].key);
+  free (u->format_hash_table[hash].key);
   u->format_hash_table[hash].key = get_mem (dtp->format_len);
   memcpy (u->format_hash_table[hash].key, dtp->format, dtp->format_len);
 
index bcf7941..b26d14d 100644 (file)
@@ -688,8 +688,7 @@ already_open (st_parameter_open *opp, gfc_unit * u, unit_flags * flags)
        }
 
       u->s = NULL;
-      if (u->file)
-       free (u->file);
+      free (u->file);
       u->file = NULL;
       u->file_len = 0;
 
index 1d52217..e8a9b84 100644 (file)
@@ -483,11 +483,9 @@ free_internal_unit (st_parameter_dt *dtp)
 
   if (dtp->u.p.current_unit != NULL)
     {
-      if (dtp->u.p.current_unit->ls != NULL)
-       free (dtp->u.p.current_unit->ls);
+      free (dtp->u.p.current_unit->ls);
   
-      if (dtp->u.p.current_unit->s)
-       free (dtp->u.p.current_unit->s);
+      free (dtp->u.p.current_unit->s);
   
       destroy_unit_mutex (dtp->u.p.current_unit);
     }
@@ -652,8 +650,7 @@ close_unit_1 (gfc_unit *u, int locked)
 
   delete_unit (u);
 
-  if (u->file)
-    free (u->file);
+  free (u->file);
   u->file = NULL;
   u->file_len = 0;
 
index 4295071..ee2fd17 100644 (file)
@@ -850,8 +850,7 @@ mem_flush (unix_stream * s __attribute__ ((unused)))
 static int
 mem_close (unix_stream * s)
 {
-  if (s != NULL)
-    free (s);
+  free (s);
 
   return 0;
 }
index a15ffa5..0e88ea3 100644 (file)
@@ -1,3 +1,16 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * cp-demint.c (cplus_demangle_v3_components): Remove useless
+       if-before-free.
+       * cplus-dem.c (squangle_mop_up): Likewise.
+       (delete_non_B_K_work_stuff): Likewise.
+       * pex-common.c (pex_free): Likewise.
+       * pex-msdos.c (pex_msdos_cleanup): Likewise.
+       * pex-win32.c (mingw_rootify, msys_rootify): Likewise.
+       (win32_spawn): Likewise.
+       * regex.c (FREE_VAR, weak_alias): Likewise.
+       * spaces.c (spaces): Likewise.
+
 2011-04-10  Jim Meyering  <meyering@redhat.com>
 
        Avoid memory overrun in a test leading to potential double-free.
index 2e8f8d2..1d1a77a 100644 (file)
@@ -206,10 +206,8 @@ cplus_demangle_v3_components (const char *mangled, int options, void **mem)
             malloc (di.num_subs * sizeof (struct demangle_component *)));
   if (di.comps == NULL || di.subs == NULL)
     {
-      if (di.comps != NULL)
-       free (di.comps);
-      if (di.subs != NULL)
-       free (di.subs);
+      free (di.comps);
+      free (di.subs);
       return NULL;
     }
 
index 84f94b6..e948487 100644 (file)
@@ -1311,8 +1311,7 @@ delete_non_B_K_work_stuff (struct work_stuff *work)
       int i;
 
       for (i = 0; i < work->ntmpl_args; i++)
-       if (work->tmpl_argvec[i])
-         free ((char*) work->tmpl_argvec[i]);
+       free ((char*) work->tmpl_argvec[i]);
 
       free ((char*) work->tmpl_argvec);
       work->tmpl_argvec = NULL;
index 55b63ae..6fd3fde 100644 (file)
@@ -623,12 +623,9 @@ pex_free (struct pex_obj *obj)
 
   if (obj->next_input_name_allocated)
     free (obj->next_input_name);
-  if (obj->children != NULL)
-    free (obj->children);
-  if (obj->status != NULL)
-    free (obj->status);
-  if (obj->time != NULL)
-    free (obj->time);
+  free (obj->children);
+  free (obj->status);
+  free (obj->time);
 
   if (obj->remove_count > 0)
     {
index 4b77bf6..fa0f40a 100644 (file)
@@ -310,10 +310,8 @@ pex_msdos_cleanup (struct pex_obj  *obj)
 
   ms = (struct pex_msdos *) obj->sysdep;
   for (i = 0; i < PEX_MSDOS_FILE_COUNT; ++i)
-    if (msdos->files[i] != NULL)
-      free (msdos->files[i]);
-  if (msdos->statuses != NULL)
-    free (msdos->statuses);
+    free (msdos->files[i]);
+  free (msdos->statuses);
   free (msdos);
   obj->sysdep = NULL;
 }
index 4427406..107ac6f 100644 (file)
@@ -210,10 +210,8 @@ mingw_rootify (const char *executable)
   if (!namebuf || !foundbuf)
     {
       RegCloseKey (hKey);
-      if (namebuf)
-       free (namebuf);
-      if (foundbuf)
-       free (foundbuf);
+      free (namebuf);
+      free (foundbuf);
       return executable;
     }
 
@@ -315,8 +313,7 @@ msys_rootify (const char *executable)
     return tack_on_executable (buf, executable);
 
   /* failed */
-  if (buf)
-    free (buf);
+  free (buf);
   return executable;
 }
 #endif
@@ -607,8 +604,7 @@ win32_spawn (const char *executable,
                      si,
                      pi))
     {
-      if (env_block)
-        free (env_block);
+      free (env_block);
 
       free (full_executable);
 
@@ -618,18 +614,14 @@ win32_spawn (const char *executable,
   /* Clean up.  */
   CloseHandle (pi->hThread);
   free (full_executable);
-  if (env_block)
-    free (env_block);
+  free (env_block);
 
   return (pid_t) pi->hProcess;
 
  error:
-  if (env_block)
-    free (env_block);
-  if (cmdline)
-    free (cmdline);
-  if (full_executable)
-    free (full_executable);
+  free (env_block);
+  free (cmdline);
+  free (full_executable);
 
   return (pid_t) -1;
 }
index 420c7f4..d65eedb 100644 (file)
@@ -4970,7 +4970,7 @@ weak_alias (__re_search_2, re_search_2)
 #ifdef MATCH_MAY_ALLOCATE
 # define FREE_VAR(var) if (var) REGEX_FREE (var); var = NULL
 #else
-# define FREE_VAR(var) if (var) free (var); var = NULL
+# define FREE_VAR(var) free (var); var = NULL
 #endif
 
 #ifdef WCHAR
@@ -8111,20 +8111,17 @@ weak_alias (__regerror, regerror)
 void
 regfree (regex_t *preg)
 {
-  if (preg->buffer != NULL)
-    free (preg->buffer);
+  free (preg->buffer);
   preg->buffer = NULL;
 
   preg->allocated = 0;
   preg->used = 0;
 
-  if (preg->fastmap != NULL)
-    free (preg->fastmap);
+  free (preg->fastmap);
   preg->fastmap = NULL;
   preg->fastmap_accurate = 0;
 
-  if (preg->translate != NULL)
-    free (preg->translate);
+  free (preg->translate);
   preg->translate = NULL;
 }
 #ifdef _LIBC
index 67481c9..69d7a2d 100644 (file)
@@ -53,10 +53,7 @@ spaces (int count)
 
   if (count > maxsize)
     {
-      if (buf)
-       {
-         free (buf);
-       }
+      free (buf);
       buf = (char *) malloc (count + 1);
       if (buf == (char *) 0)
        return 0;
index 3aa9a39..0c65c31 100644 (file)
@@ -1,3 +1,8 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * libsupc++/del_opnt.cc (operator delete): Remove useless
+       if-before-free.
+
 2011-04-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
        PR libstdc++/48521
index 75051d5..29eab10 100644 (file)
@@ -31,6 +31,5 @@ extern "C" void free (void *);
 _GLIBCXX_WEAK_DEFINITION void
 operator delete (void *ptr, const std::nothrow_t&) throw ()
 {
-  if (ptr)
-    free (ptr);
+  free (ptr);
 }
index 2e63db3..8ceb13c 100644 (file)
@@ -1,3 +1,7 @@
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * lto-plugin.c (free_1, free_2): Remove useless if-before-free.
+
 2011-04-05  Richard Guenther  <rguenther@suse.de>
 
        PR bootstrap/48431
index 661f10c..4b5828b 100644 (file)
@@ -312,8 +312,7 @@ free_1 (void)
        {
          struct ld_plugin_symbol *s = &symtab->syms[j];
          free (s->name);
-         if (s->comdat_key)
-           free (s->comdat_key);
+         free (s->comdat_key);
        }
       free (symtab->syms);
       symtab->syms = NULL;
@@ -342,8 +341,7 @@ free_2 (void)
   claimed_files = NULL;
   num_claimed_files = 0;
 
-  if (arguments_file_name)
-    free (arguments_file_name);
+  free (arguments_file_name);
   arguments_file_name = NULL;
 }