remove useless if-before-free tests
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
This commit is contained in:
parent
53eebfbf94
commit
046957830e
@ -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
|
||||
|
@ -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
|
||||
|
@ -217,8 +217,7 @@ __gnat_initialize (void *eh ATTRIBUTE_UNUSED)
|
||||
|
||||
FindClose (hDir);
|
||||
|
||||
if (dir != NULL)
|
||||
free (dir);
|
||||
free (dir);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -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.
|
||||
@ -1105,7 +1110,7 @@
|
||||
* c-common.c: Include gt-c-family-c-common.h.
|
||||
* c-pragma.c: Include gt-c-family-c-pragma.h.
|
||||
|
||||
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
|
||||
|
@ -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);
|
||||
|
15
gcc/calls.c
15
gcc/calls.c
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
15
gcc/gcc.c
15
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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
18
gcc/ira.c
18
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;
|
||||
|
@ -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>
|
||||
|
||||
|
||||
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
|
||||
|
@ -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");
|
||||
|
@ -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.
|
||||
|
@ -103,8 +103,7 @@ get_key_value (char *key)
|
||||
if (prefix == 0)
|
||||
prefix = std_prefix;
|
||||
|
||||
if (temp)
|
||||
free (temp);
|
||||
free (temp);
|
||||
|
||||
return prefix;
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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
|
||||
|
@ -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++)
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user