remove useless if-before-free tests
authorJim Meyering <meyering@gcc.gnu.org>
Wed, 20 Apr 2011 18:19:03 +0000 (18:19 +0000)
committerJim Meyering <meyering@gcc.gnu.org>
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.

From-SVN: r172785

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 6dade07dc5b43e426c355c815f4cc7c8689ad97f..86a2b832cf1e12307806f462c5ec40010f64254e 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 a73831629a1daeed28b4afba05c31744e38486c1..c2758d1b0cc7a26768581933f9f3f20f8c4e7282 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 32ea0e5c7f38ca0baf4446f2448ba75ae5a74421..e2ad904e9b22a4a627a766f8316f84f04ad8b535 100644 (file)
@@ -217,8 +217,7 @@ __gnat_initialize (void *eh ATTRIBUTE_UNUSED)
 
                     FindClose (hDir);
 
-                    if (dir != NULL)
-                      free (dir);
+                    free (dir);
                   }
               }
             else
index f8f0b4b6707ec664821a2c3c5dd30a0ce0aef468..b0f27c510d433b0a0930f7943c8aeb50b5d179f8 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 801e4347da9fcdf47cad49bf414eaac44a88df0b..0c5115a9360a1d045cd51ed54d6d256471f96154 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 2e7977720e1b0785f32f35d8fefd104458d867cd..bb95852bf84014a43916e6e0fca8e2322f0effc1 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 98c51ad2573fd65e9c6593000b75dc877e828cc2..179cd00ad0c8b741dcb5fba981b09144cd1876e5 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 373483bcd38b4d11e2c576cce0c0b6d5efb67ff9..0c554f0534670c58955296e816611cd67e7e7e49 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 b6d41f08dd01c001b5b82db26c1766300e363e15..80cb104b06e966e1d03f6e906f7ce85769cd25cd 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 093ac2f2de0100777d749795c2b1edfcece8e22e..741452ec05fbb149b0807c255dd1e7dca1c5cc7b 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 79d20ab5cee330c35d2319bc7f5a2673205b0539..58b7c69e893f4ccf7c9ccc0cb4e34be0add1e600 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 c7068ab97cc6a269bc89ce9477b5ccbeda8ba235..e854651ecb6f264ef3069881925ee84e9ea2c7ef 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 25f2c32f0f2cfa667f4a1946c03750b12accbfd7..23daa6c45e0383a38bdd31352f599620828af4aa 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 f7b477c60b1fa994f8d76cb0472e63956ffbb805..d83b38a60b80d097e8c22ecbaa3b91c6f7cb64a1 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 dff096752f5295fba0d4d83a3c6aed9b476a2c11..56e6d178576cfeeac9ea33ca8d1b7275c8e5c4f4 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 98c2088f51e1722cfb05b4c10d366fb05b86e0be..9f3ea4295621a91658a6adf30180bf677c47f63d 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 7a857a47664527dd0f2bcdab7eea7e83c6392551..9e949b3fb0aa7e02864dc1d82f11534e8c9bee02 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 42b65c6a36b69f5ecba4264e08c27a54fcfa4fb9..dae2149b1dec8b15312d87f210403e8371632be6 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 2d732fdd45b1e5d98e04960470b00bb0197f8dcc..4d939a05bf8683b874ce39a2624705d6a7a5a2d3 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 872d4898ff668025fa8484daa644d682a366d3db..5e7a1dce196d22355edb1609e38c894fd8c47719 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 d709fdf4c4e1a5309bdcf9261e7f123b9e582c5d..625daebe8b293ed05ddb3855bbe3882c3ecfc267 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 c14a33967456481e201fed1cd397768dc9ce94d0..d7d56ddfb5e2f5f8cdc9f3c32940bb32e88e8115 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 7ad959aa8da79d867db9d9641ff94dc668120d7d..f9a2bb2105c94957a4f6e6ccb852ea9b129992ea 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 56fff3a75fa087de6c5f6939b51fc370f11fc3b0..bb2791324a3e5d35c889cf11199f2bfc92439d6a 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 d2c2f7157297a99cb7c75143bab40271decdc7bd..682d2ac69590d0ff4c643a6abb20d598fd56163a 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 41356dc814ae829ea62f738700beaa5ae72bb0d5..c8356d34a63296fd0090fbd89410f603428b2895 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 064ded3e2f03f57ab39bf46417aca5b4661b0bcf..7474be016c3f147fa8972699e7047c10ca51e498 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 e2d389b95926b8672a9cd0583c5edca3847b1d85..d67aee8f827a58843e6d47d661018698e1de903e 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 3fdebc1f2c54fa1b475d16989fc8723db8a91cd9..d73865459904b2d6db2efcf7651b94d7790d2a0b 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 eb5b0f6ab61937591533bedc09aeee1a502a7a07..67022c4edbbba09fef803aac3b44aabd7c731a70 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 f874a2e80efc9d0676bb3d62151a1a892de1a73b..40fa6bc1bcb2a46fa337822513992121c849f098 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 3b113b67da9aefa89be54371db6182730190cbec..de894a25223b2000c40c4b8acea979c3869fa3a8 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 054f4ca8eb2b484c9af428aa4bbf64825a79103a..49f3e764ed02bec7d65b50140dae66daa540f081 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 5ddbc9d541efbcf2d56a7299050ec492c4e88f6c..dec7e0b79ed367191b750f33ebe8762f51b4939c 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 a56c1b75c51fb0c29f38952f8d5488a8ccbf1f3a..37cea2870a872de4ddee4fceb083da467eafe152 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 44daa27c1f7cb7e71e37e391e9f86886b0691b4b..6f75d3320c103660ce5f0768ffaa938fa545b786 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 67ebdd99ed6a0dd633e7426cfccb06db6465fd71..90261ae6ffec3695cdfbe675400d5a0019d5fd66 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 fd377486b856dadfc4def8a8f7699fa9898fc4ee..e40bfecca90fa5d9692436eed4f85612d9ee0f72 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 058b5e9e51b68f8dec2037ad272292d3abeeb10d..7fb427078f3a0b61eda35e38308798df48c1fd12 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 6abef8b9f4db63fba69cd8c136751f311806186b..09bf65d9093d3170d0aacde0e3318bca222ac8b7 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 a6daa5886dc30086f60ec1d382eed3bc05680e10..a12617ce3eecfd04a3e6eb8ed9da39665ffd0e03 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 bfb0276d3a8b74fb1887127a42514617de43244a..3ce83b9f7c1ae4c97717b614a69ead240da4d428 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 e01c67722f76f39225e3dd0969b818447a9fc9bc..046060522259a76e63d14b04e9a1f5b5b88d5358 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 76453b8f45a16643842b04f722332423beace0ab..60e2236823b3cc9e5cfe9a36246d6765525ff7fb 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 e7490e6813c53515532b486c5395b43f0f1955aa..2dfe37eca534b5432d2b6f696b9138cc7c009d1e 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 c99d987b6b63044cfa71e107de10c96d4ddece8f..4216b22585109252f681c93d1f0e6c53f5c54c27 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 0aa21e0c9f3488e6ec2c095463d79dcb11c984dd..b00b8d44ac38afc2466adb612c195b9c2d0c1a19 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 ee9ee6fe080844f8a9388abd2b9030601e5a6e8f..a833a041bbbe388a8c5238e6420aeced0a293be2 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 cfd07d4590be2bc63fab61ae3ba22b76e073f449..eb93719e27bee67ecc8a1e14b77a885d6397b613 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 e3cff498d8c4c5cb29534b3c7da9f2907231a3a2..cd0bc4847b2c2dd178d99f08f304c2a1f2d17463 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 5c6dacf205e3a558c20452f9d8758287b72ffe7a..5ba666650e8e465508e9853f552f06050601336f 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 d9324a350efc29839f93a39b2f49ad257389cd09..eba2349954a3e949bb29b592f0917e08cc0b7151 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 00b7794ef1debc3e85c59f3415162c69f189c13d..d278f14370e74a50d0e0d034f686731da0db3eaf 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 75e4a8eee76fe370842070cbf608f2b587d39c2b..8a19499a5301492520b95ec4d4c6ebd4b7d2cfbc 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 d097cab4aba77061c4abac9a31e323179cfd2a2b..cf2d32e40d4d7135672d11870a937ab365ebf089 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 205243e8181dc5cf99e46294ec372e48abc42567..11202c34eb8fc133113a44e9b278f5dcd939a06a 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 9b5497c9bc7443fb569e06260798e79155828c7f..f76c20c7b6d49640b9362ded8b293e4df2c26a3b 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 82b3f6ba6c699efa641e7edad1528507eba24637..353e5aec9d31749b1e8003412a67e127ea887cb4 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 5760e0cb38b946b6362384b2216514262c819c61..518dc809ecbcae168c6e0ce30931a4655cb38189 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 bcf7941c20af9f0b3289ff0451474624c186c9e0..b26d14d8069f8324cf7808cad196e733881e5f22 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 1d52217263552f2cf89726f09a767e20c1dc6fbc..e8a9b8483672539bf964a6b71b0eeb145b98a382 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 429507191564601328d80c01d105b7bb8b98302b..ee2fd172517837ebee40757ae0740d345409ea25 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 a15ffa59d2891af788597a9f561d242333f0357b..0e88ea3cc9e523d41403bdbd8d6cc838c3c7c7ee 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 2e8f8d2d0579d8032be40e511d3c05fa4bf8f2c0..1d1a77af748ba2485272db761fa4244e25b5e2e2 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 84f94b6a8de6a387da3ca012815a6243458e1d56..e94848767e780847ca9e4bd6f879906c72d99fcf 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 55b63ae33fe9840c280e3547c895260ee5d6f593..6fd3fdecd808b38ad024a7db14163795eb99a91f 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 4b77bf655fb5bc9145d5b69b71036968d7300b64..fa0f40ac9edaad32e9834abf6d1cb94010a152b6 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 44274067482c772ce21115b730d46747040e1492..107ac6fdcc1e8a0dbfa003dc6d59e4bc76fb6db5 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 420c7f4a47da26537ce0439a4716859c969fbd01..d65eedb16704313a58f293c0c9e00600e51a29a2 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 67481c9bcd8ff026491b68699a97c5a9871b2bae..69d7a2d3f834778242b24840f1c3c9fdbb351a26 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 3aa9a3907ca0cac1d3677d641a040b3cafb3385a..0c65c31f90c84dc820f5c73806cb6640f706d43a 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 75051d5bee10f23f1951f63b799059d4f710dc60..29eab1022ee454ebad9d05d92e12cbadcead86cd 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 2e63db35451d9056a982af9d348a0df03858b1e3..8ceb13c4dad0da7db782e71262074cc732d5819e 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 661f10cdf9890309275bfacdc7fc32392756797b..4b5828b3912b823e8ab57b0929a82019fb9096bd 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;
 }