@@ -51,14 +51,24 @@ foo (bar, )
needs to be coded in some other way.
-free and realloc
-----------------
+Avoid unnecessary test before free
+----------------------------------
-Some implementations crash upon attempts to free or realloc the null
-pointer. Thus if mem might be null, you need to write
+Since SunOS 4 stopped being a reasonable portability target,
+(which happened around 2007) there has been no need to guard
+against "free (NULL)". Thus, any guard like the following
+constitutes a redundant test:
- if (mem)
- free (mem);
+ if (P)
+ free (P);
+
+It is better to avoid the test.[*]
+Instead, simply free P, regardless of whether it is NULL.
+
+[*] However, if your profiling exposes a test like this in a
+performance-critical loop, say where P is nearly always NULL, and
+the cost of calling free on a NULL pointer would be prohibitively
+high, please let us know.
Trigraphs
@@ -194,4 +204,3 @@ o Passing incorrect types to fprintf and friends.
o Adding a function declaration for a module declared in another file to
a .c file instead of to a .h file.
-
--
1.7.4.1.299.ga459d
From 47219806715ee0f88f27df95fa99ee436d001358 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@redhat.com>
Date: Tue, 8 Mar 2011 12:19:24 +0100
Subject: [PATCH 2/2] remove useless if-before-free tests
Change "if (E) free (E);" to "free (E);" everywhere
except in the 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.
---
ChangeLog | 23 ++++---
gcc/ChangeLog | 39 ++++++++++
gcc/ada/ChangeLog | 8 ++-
gcc/ada/initialize.c | 3 +-
gcc/c-family/ChangeLog | 133 ++++++++++++++++++-----------------
gcc/c-family/c-format.c | 6 +-
gcc/calls.c | 15 ++---
gcc/cfgcleanup.c | 3 +-
gcc/collect2.c | 3 +-
gcc/config/i386/i386.c | 3 +-
gcc/config/mcore/mcore.c | 3 +-
gcc/coverage.c | 3 +-
gcc/cp/ChangeLog | 4 +
gcc/cp/tree.c | 3 +-
gcc/cse.c | 6 +-
gcc/cselib.c | 3 +-
gcc/df-core.c | 15 ++---
gcc/fortran/ChangeLog | 5 ++
gcc/fortran/gfortranspec.c | 5 +-
gcc/function.c | 3 +-
gcc/gcc.c | 15 ++---
gcc/gcov.c | 6 +-
gcc/gensupport.c | 12 +--
gcc/graphite-clast-to-gimple.c | 3 +-
gcc/graphite-sese-to-poly.c | 3 +-
gcc/haifa-sched.c | 3 +-
gcc/ipa-prop.c | 3 +-
gcc/ipa-pure-const.c | 3 +-
gcc/ipa-reference.c | 3 +-
gcc/ira-costs.c | 15 ++---
gcc/ira.c | 9 +--
gcc/java/ChangeLog | 126 +++++++++++++++++----------------
gcc/java/jcf-parse.c | 3 +-
gcc/matrix-reorg.c | 9 +--
gcc/prefix.c | 3 +-
gcc/profile.c | 3 +-
gcc/reload1.c | 12 +--
gcc/sched-deps.c | 3 +-
gcc/sel-sched-ir.c | 3 +-
gcc/sese.c | 6 +-
gcc/tree-data-ref.c | 6 +-
gcc/tree-eh.c | 3 +-
gcc/tree-ssa-coalesce.c | 3 +-
gcc/tree-ssa-live.c | 6 +-
gcc/tree-ssa-loop-ivopts.c | 6 +-
gcc/tree-ssa-pre.c | 3 +-
libcpp/ChangeLog | 19 ++++--
libcpp/files.c | 3 +-
libcpp/init.c | 3 +-
libcpp/macro.c | 3 +-
libcpp/pch.c | 9 +--
libdecnumber/ChangeLog | 29 +++++---
libdecnumber/decNumber.c | 80 +++++++++++-----------
libgfortran/ChangeLog | 12 ++-
libgfortran/intrinsics/move_alloc.c | 3 +-
libgfortran/io/fbuf.c | 3 +-
libgfortran/io/format.c | 3 +-
libgfortran/io/open.c | 3 +-
libgfortran/io/unit.c | 9 +--
libgfortran/io/unix.c | 3 +-
libgo/runtime/go-select.c | 6 +-
libiberty/ChangeLog | 41 +++++++----
libiberty/cp-demint.c | 6 +-
libiberty/cplus-dem.c | 13 +---
libiberty/pex-common.c | 9 +--
libiberty/pex-msdos.c | 6 +-
libiberty/pex-win32.c | 24 ++----
libiberty/regex.c | 11 +--
libiberty/spaces.c | 5 +-
libstdc++-v3/ChangeLog | 5 ++
libstdc++-v3/libsupc++/del_opnt.cc | 3 +-
lto-plugin/ChangeLog | 18 +++--
lto-plugin/lto-plugin.c | 6 +-
73 files changed, 440 insertions(+), 451 deletions(-)
@@ -1,3 +1,8 @@
+2011-03-08 Jim Meyering <meyering@redhat.com>
+
+ * libgo/runtime/go-select.c (__go_select): Remove useless
+ if-before-free test.
+
2011-03-06 Joey Ye <joey.ye@arm.com>
* MAINTAINERS: Update my e-mail address.
@@ -825,11 +830,11 @@
* configure: Regenerate.
2010-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR bootstrap/42424
* configure.ac: Include libtool m4 files.
- (_LT_CHECK_OBJDIR): Call it.
+ (_LT_CHECK_OBJDIR): Call it.
(extra_mpc_mpfr_configure_flags, extra_mpc_gmp_configure_flags,
gmplibs, ppllibs, clooglibs): Use $lt_cv_objdir.
@@ -970,7 +975,7 @@
2009-10-26 Johannes Singler <singler@kit.edu>
- * MAINTAINERS (Write After Approval): Update my e-mail address.
+ * MAINTAINERS (Write After Approval): Update my e-mail address.
2009-10-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
@@ -1006,7 +1011,7 @@
2009-10-07 Rafael Avila de Espindola <espindola@google.com>
* MAINTAINERS: Change my email address. Change plugi-in to plugin.
-
+
2009-10-07 Richard Guenther <rguenther@suse.de>
* MAINTAINERS (LTO): List Diego Novillo, Rafael Avila de Espindola,
@@ -1258,7 +1263,7 @@
* configure.ac (sh*-*-elf): Don't add target-libgloss to noconfigdirs.
* configure: Regenerate.
-
+
2009-07-28 Rask Ingemann Lambertsen <ccc94453@vip.cybercity.dk>
* MAINTAINERS (Write After Approval): Update my e-mail address.
@@ -1323,7 +1328,7 @@
2009-06-09 Ghassan Shobaki <ghassan.shobaki@amd.com>
- * MAINTAINERS: Added my name to the write-after-approval list
+ * MAINTAINERS: Added my name to the write-after-approval list
2009-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
@@ -1333,8 +1338,8 @@
2009-06-03 Jerome Guitton <guitton@adacore.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- * Makefile.tpl (all): Avoid a trailing backslash.
- * Makefile.in: Regenerate.
+ * Makefile.tpl (all): Avoid a trailing backslash.
+ * Makefile.in: Regenerate.
2009-06-03 Ben Elliston <bje@au.ibm.com>
@@ -1550,7 +1555,7 @@
2009-03-11 Nicola Pero <nicola.pero@meta-innovation.com>
* MAINTAINERS: Update e-mail address.
-
+
2009-03-11 Dorit Nuzman <dorit@il.ibm.com>
* MAINTAINERS: Remove myself as auto-vectorizer maintainer.
@@ -1,3 +1,42 @@
+2011-03-08 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-03-08 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/48022
@@ -1,3 +1,7 @@
+2011-03-08 Jim Meyering <meyering@redhat.com>
+
+ * initialize.c (__gnat_initialize): Remove useless if-before-free.
+
2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
@@ -39,7 +43,7 @@
dependency.
2011-01-04 Pascal Obry <obry@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
@@ -55,7 +59,7 @@
the CICO mechanism.
2011-01-04 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
(set_end_locus_from_node): New function.
@@ -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-03-08 Jim Meyering <meyering@redhat.com>
+
+ * c-format.c (init_dollar_format_checking): Remove useless
+ if-before-free.
+
2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
PR c/47786
@@ -69,7 +74,7 @@
2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
* c-objc.h (objc_maybe_warn_exceptions): New.
- * stub-objc.c (objc_maybe_warn_exceptions): New.
+ * stub-objc.c (objc_maybe_warn_exceptions): New.
2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
@@ -96,7 +101,7 @@
* stub-objc.c (objc_finish_function): New.
(objc_non_volatilized_type): Removed.
(objc_type_quals_match): Removed.
-
+
2010-11-30 Joseph Myers <joseph@codesourcery.com>
* c-common.h (parse_optimize_options): Declare.
@@ -173,7 +178,7 @@
* c-common.h (objc_declare_protocols): Added additional argument.
* stub-objc.c (objc_declare_protocol): Same change.
-
+
2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
PR c/33193
@@ -253,7 +258,7 @@
* c-format.c (format_type): New type gcc_objc_string_format_type.
(valid_stringptr_type_p): New.
(handle_format_arg_attribute): Use valid_stringptr_type_p ().
- (check_format_string): Pass expected type, use
+ (check_format_string): Pass expected type, use
valid_stringptr_type_p (), check that the format string types are
consistent with the format specification.
(decode_format_attr): Warn if NSString is used outside objective-c.
@@ -270,7 +275,7 @@
2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
- Fixed using the Objective-C 2.0 dot-syntax with class names.
+ Fixed using the Objective-C 2.0 dot-syntax with class names.
* c-common.h (objc_build_class_component_ref): New.
* stub-objc.c (objc_build_class_component_ref): New.
@@ -294,6 +299,14 @@
* c-common.c (conversion_warning, warn_for_collisions_1): Use
EXPR_LOC_OR_HERE.
+2010-10-29 Arnaud Charlet <charlet@adacore.com>
+ Matthew Gingell <gingell@adacore.com>
+
+ * c-ada-spec.c (separate_class_package): New function.
+ (pp_ada_tree_identifier): Prefix references to C++ classes with the
+ name of their enclosing package.
+ (print_ada_declaration): Use separate_class_package.
+
2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
@@ -311,14 +324,6 @@
objc_maybe_build_component_ref.
(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
(objc_is_property_ref): New.
-
-2010-10-29 Arnaud Charlet <charlet@adacore.com>
- Matthew Gingell <gingell@adacore.com>
-
- * c-ada-spec.c (separate_class_package): New function.
- (pp_ada_tree_identifier): Prefix references to C++ classes with the
- name of their enclosing package.
- (print_ada_declaration): Use separate_class_package.
2010-10-27 Jason Merrill <jason@redhat.com>
@@ -327,6 +332,17 @@
* c-common.c (check_case_value): Remove special C++ code.
+2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-common.h (objc_maybe_printable_name): New.
+ * stub-objc.c (objc_maybe_printable_name): New.
+
+2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-common.h (objc_add_property_variable): Renamed to
+ objc_add_property_declaration. Added location argument.
+ * stub-objc.c (objc_add_property_variable): Same change.
+
2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
@@ -340,17 +356,6 @@
* stub-objc.c (objc_add_property_declaration): Added additional
arguments.
(objc_set_property_attr): Removed.
-
-2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-common.h (objc_add_property_variable): Renamed to
- objc_add_property_declaration. Added location argument.
- * stub-objc.c (objc_add_property_variable): Same change.
-
-2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-common.h (objc_maybe_printable_name): New.
- * stub-objc.c (objc_maybe_printable_name): New.
2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
Andrew Pinski <pinskia@gmail.com>
@@ -369,31 +374,15 @@
(objc_start_method_definition): Same change.
(objc_build_method_signature): Same change.
-2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
+2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
- * c-common.h (finish_file): Removed.
- (objc_write_global_declarations): New.
- * c-opts.c (c_common_parse_file): Do not call finish_file.
- * stub-objc.c (objc_write_global_declarations): New.
-
-2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+ Merge from 'apple/trunk' branch on FSF servers.
- Implemented parsing @synthesize and @dynamic for
- Objective-C/Objective-C++.
- * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
- (objc_add_synthesize_declaration): New.
- (objc_add_dynamic_declaration): New.
- * c-common.c (c_common_reswords): Add synthesize and dynamic.
- * stub-objc.c (objc_add_synthesize_declaration): New.
- (objc_add_dynamic_declaration): New.
-
-2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
+ 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
- PR target/46041
- * c-cppbuiltin.c (mode_has_fma): Move function here from
- builtins.c. Don't use the fma optab, instead just use the
- HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
- using -save-temps.
+ Radar 4133425
+ * c-common.h (objc_diagnose_private_ivar): New decl.
+ * stub-objc.c (objc_diagnose_private_ivar): New stub.
2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
@@ -401,19 +390,35 @@
2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
- Radar 4330422
+ Radar 4330422
* c-common.h (objc_non_volatilized_type): New declaration
* stub-objc.c (objc_non_volatilized_type): New stub.
-2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
+2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
- Merge from 'apple/trunk' branch on FSF servers.
+ PR target/46041
+ * c-cppbuiltin.c (mode_has_fma): Move function here from
+ builtins.c. Don't use the fma optab, instead just use the
+ HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
+ using -save-temps.
- 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
- Radar 4133425
- * c-common.h (objc_diagnose_private_ivar): New decl.
- * stub-objc.c (objc_diagnose_private_ivar): New stub.
+ Implemented parsing @synthesize and @dynamic for
+ Objective-C/Objective-C++.
+ * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
+ (objc_add_synthesize_declaration): New.
+ (objc_add_dynamic_declaration): New.
+ * c-common.c (c_common_reswords): Add synthesize and dynamic.
+ * stub-objc.c (objc_add_synthesize_declaration): New.
+ (objc_add_dynamic_declaration): New.
+
+2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-common.h (finish_file): Removed.
+ (objc_write_global_declarations): New.
+ * c-opts.c (c_common_parse_file): Do not call finish_file.
+ * stub-objc.c (objc_write_global_declarations): New.
2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
@@ -511,7 +516,7 @@
objective-c keywords.
(objc_set_method_opt): New declaration.
* stub-objc.c (objc_set_method_opt): New stub.
-
+
2010-09-30 Joseph Myers <joseph@codesourcery.com>
* c-common.c (handle_optimize_attribute): Pass &global_options to
@@ -529,8 +534,8 @@
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
- Merge from 'apple/trunk' branch on FSF servers.
-
+ Merge from 'apple/trunk' branch on FSF servers.
+
2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4281748
@@ -562,7 +567,7 @@
2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
- * c-common.h (objc_add_method_declaration): Adjust prototype to
+ * c-common.h (objc_add_method_declaration): Adjust prototype to
include attributes.
(objc_start_method_definition): Likewise.
(objc_build_keyword_decl): Likewise.
@@ -586,11 +591,11 @@
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
- Merge from 'apple/trunk' branch on FSF servers.
+ Merge from 'apple/trunk' branch on FSF servers.
2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
- Radar 4229905
+ Radar 4229905
* c-common.h (objc_have_common_type): New declaration.
* stub-objc.c (objc_have_common_type): New stub.
@@ -598,7 +603,7 @@
Radar 4154928
* c-common.h (objc_common_type): New prototype.
- * stub-objc.c (objc_common_type): New stub.
+ * stub-objc.c (objc_common_type): New stub.
2010-09-24 Jan Hubicka <jh@suse.cz>
@@ -844,8 +849,8 @@
2010-06-24 Andi Kleen <ak@linux.intel.com>
- * c-common.c (warn_for_omitted_condop): New.
- * c-common.h (warn_for_omitted_condop): Add prototype.
+ * c-common.c (warn_for_omitted_condop): New.
+ * c-common.h (warn_for_omitted_condop): Add prototype.
2010-06-21 Joseph Myers <joseph@codesourcery.com>
@@ -891,7 +896,7 @@
2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
- * c-common.c (conversion_warning): Warn at expression
+ * c-common.c (conversion_warning): Warn at expression
location.
2010-06-10 Joseph Myers <joseph@codesourcery.com>
@@ -957,7 +962,7 @@
2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
- * c-common.c: Moved to here from parent directory.
+ * c-common.c: Moved to here from parent directory.
* c-common.def: Likewise.
* c-common.h: Likewise.
* c-cppbuiltin.c: Likewise.
@@ -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);
@@ -2549,8 +2549,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;
@@ -2655,8 +2654,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;
@@ -3148,8 +3146,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 ();
@@ -3204,8 +3201,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;
@@ -650,8 +650,7 @@ try_forward_edges (int mode, basic_block b)
ei_next (&ei);
}
- if (threaded_edges)
- free (threaded_edges);
+ free (threaded_edges);
return changed;
}
@@ -2092,8 +2092,7 @@ collect_execute (const char *prog, char **argv, const char *outname,
fatal (errmsg);
}
- if (response_arg)
- free (response_arg);
+ free (response_arg);
return pex;
}
@@ -4765,8 +4765,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;
@@ -1978,8 +1978,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));
@@ -521,8 +521,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-03-08 Jim Meyering <meyering@redhat.com>
+
+ * tree.c (cxx_printable_name_internal): Remove useless if-before-free.
+
2011-03-07 Jason Merrill <jason@redhat.com>
PR c++/48003
@@ -1506,8 +1506,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)
@@ -2429,8 +2429,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);
@@ -1726,8 +1722,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,8 @@
+2011-03-08 Jim Meyering <meyering@redhat.com>
+
+ * gfortranspec.c (lang_specific_pre_link): Remove useless
+ if-before-free.
+
2011-03-06 Paul Thomas <pault@gcc.gnu.org>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
@@ -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;
@@ -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;
@@ -4782,8 +4782,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;
@@ -6700,12 +6699,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;
}
@@ -6749,12 +6746,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;
@@ -350,8 +350,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';
@@ -367,15 +366,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;
}
@@ -387,8 +384,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;
@@ -5556,8 +5556,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;
@@ -1893,8 +1893,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));
}
@@ -1667,8 +1667,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);
@@ -1619,22 +1619,17 @@ 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;
- if (cost_classes != NULL)
- free (cost_classes);
+ free (cost_classes);
cost_classes = NULL;
}
@@ -1150,10 +1150,8 @@ free_register_move_costs (void)
for (mode = 0; mode < MAX_MACHINE_MODE; 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]);
+ free (ira_may_move_in_cost[mode]);
+ free (ira_may_move_out_cost[mode]);
ira_register_move_cost[mode] = NULL;
ira_may_move_in_cost[mode] = NULL;
ira_may_move_out_cost[mode] = NULL;
@@ -3036,8 +3034,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-03-08 Jim Meyering <meyering@redhat.com>
+
+ * jcf-parse.c (java_parse_file): Remove useless if-before-free.
+
2011-02-13 Joseph Myers <joseph@codesourcery.com>
* jvspec.c (jvgenmain_spec): Remove %{a*}.
@@ -17,7 +21,7 @@
2011-01-07 Kai Tietz <kai.tietz@onevision.com>
PR bootstrap/47215
- * decl.c (java_init_decl_processing): Initialize unsigned_type_node.
+ * decl.c (java_init_decl_processing): Initialize unsigned_type_node.
2011-01-07 Kai Tietz <kai.tietz@onevision.com>
@@ -139,7 +143,7 @@
2010-10-04 Andi Kleen <ak@linux.intel.com>
* Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain):
- Add + to build rule.
+ Add + to build rule.
2010-09-29 Joseph Myers <joseph@codesourcery.com>
@@ -685,7 +689,7 @@
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* class.c: Replace %J by an explicit location. Update all calls.
-
+
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* jcf-parse.c: Replace %H by an explicit location. Update all calls.
@@ -700,7 +704,7 @@
(MANGLE_CXX_KEYWORDS): New macro.
(append_gpp_mangled_name): Use MANGLE_CXX_KEYWORDS.
(append_gpp_mangled_name): Likewise.
- * mangle.c: Move code to mangle_name.c.
+ * mangle.c: Move code to mangle_name.c.
(mangle_member_name): Don't call cxx_keyword_p.
2009-06-12 Aldy Hernandez <aldyh@redhat.com>
@@ -718,7 +722,7 @@
* builtins.c: Same.
* expr.c: Same.
* java-tree.h (PUSH_FIELD): Add location field.
-
+
2009-06-09 Ian Lance Taylor <iant@google.com>
* verify.h: Remove extern "C".
@@ -785,9 +789,9 @@
2009-04-09 Paolo Bonzini <bonzini@gnu.org>
- * builtins.c (compareAndSwapLong_builtin,
- compareAndSwapInt_builtin, compareAndSwapObject_builtin,
- VMSupportsCS8_builtin): Do not look at sync_compare_and_swap_cc.
+ * builtins.c (compareAndSwapLong_builtin,
+ compareAndSwapInt_builtin, compareAndSwapObject_builtin,
+ VMSupportsCS8_builtin): Do not look at sync_compare_and_swap_cc.
2009-03-31 Richard Guenther <rguenther@suse.de>
@@ -932,7 +936,7 @@
mixed declarations and code.
2008-05-02 Doug Kwan <dougkwan@google.com>
-
+
* expr.c (build_java_throw_out_of_bounds_exception ): Wrap call to
_Jv_ThrowBadArrayIndex with a COMPOUND_EXPR to return 0.
@@ -947,8 +951,8 @@
* java-gimplify.c (java_gimplify_expr): Make pre_p and post_p
sequences.
- (java_gimplify_self_mod_expr): Same.
- * java-tree.h (java_gimplify_expr): Make pre_p and post_p
+ (java_gimplify_self_mod_expr): Same.
+ * java-tree.h (java_gimplify_expr): Make pre_p and post_p
sequences.
2008-07-24 Jan Hubicka <jh@suse.cz>
@@ -1094,9 +1098,9 @@
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
- * java-tree.h (insert_block): Kill.
- * decl.c (insert_block): Kill.
-
+ * java-tree.h (insert_block): Kill.
+ * decl.c (insert_block): Kill.
+
2008-04-01 Joseph Myers <joseph@codesourcery.com>
* gcj.texi: Include gpl_v3.texi instead of gpl.texi
@@ -1127,10 +1131,10 @@
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
- * jcf-parse.c (java_parse_file): Assert binding levels are
- left in order.
- * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
- Delete.
+ * jcf-parse.c (java_parse_file): Assert binding levels are
+ left in order.
+ * lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
+ Delete.
2008-03-02 Jakub Jelinek <jakub@redhat.com>
@@ -1459,12 +1463,12 @@
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* class.c (java_treetreehash_hash, java_treetreehash_compare):
- Constify.
+ Constify.
* expr.c (type_assertion_eq): Likewise.
* jcf-io.c (compare_path): Likewise.
* jcf-parse.c (cmpstringp): Likewise.
* verify-impl.c (get_one_type, compute_argument_types,
- compute_return_type): Likewise.
+ compute_return_type): Likewise.
2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
@@ -1490,7 +1494,7 @@
2007-07-03 David Daney <ddaney@avtrex.com>
- * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
+ * java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to
include path.
(doc/gcj.dvi): Same.
(doc/gcj.pdf): Same.
@@ -1541,16 +1545,16 @@
2007-04-03 Andrew Haley <aph@redhat.com>
- * jvgenmain.c (main): Change main to use class$, not class$$.
- (do_mangle_classname): Likewise.
- * class.c (hide): New function.
- (add_field): Hide everything that shouldn't be visible outside a
- DSO.
- (build_static_class_ref): Likewise.
- (build_classdollar_field): Likewise.
- (make_class_data): Likewise.
- (layout_class_method): Likewise.
- * expr.c (special_method_p): New function.
+ * jvgenmain.c (main): Change main to use class$, not class$$.
+ (do_mangle_classname): Likewise.
+ * class.c (hide): New function.
+ (add_field): Hide everything that shouldn't be visible outside a
+ DSO.
+ (build_static_class_ref): Likewise.
+ (build_classdollar_field): Likewise.
+ (make_class_data): Likewise.
+ (layout_class_method): Likewise.
+ * expr.c (special_method_p): New function.
* class.c (push_class): Don't bogusly guess the source filename.
* jcf-parse.c (give_name_to_class): Don't set input_location from
@@ -2064,7 +2068,7 @@
* expr.c (rewrite_arglist_getcaller): New.
(rewrite_arglist_getclass): Fix indentation.
- (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
+ (rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
gnu.classpath.VMStackWalker.getCallingClassLoader().
* builtins.c (initialize_builtins): Remove duplicate def'n of
__sync_synchronize.
@@ -2129,21 +2133,21 @@
* jcf-parse.c (field_offsets, bit_obstack): New variables.
(jcf_parse): Write end marker to annotation_data.
(java_parse_file): Create field_offsets bitmap. Destroy it.
- (annotation_grow, annotation_rewrite_byte)
- (annotation_rewrite_short, annotation_rewrite_int)
- (annotation_read_short, annotation_write_byte)
- (annotation_write_short, annotation_write_int)
- (handle_long_constant, handle_constant, handle_element_value)
- (handle_annotation, handle_annotations)
- (handle_annotation_attribute, rewrite_reflection_indexes)
- (handle_member_annotations, handle_parameter_annotations)
+ (annotation_grow, annotation_rewrite_byte)
+ (annotation_rewrite_short, annotation_rewrite_int)
+ (annotation_read_short, annotation_write_byte)
+ (annotation_write_short, annotation_write_int)
+ (handle_long_constant, handle_constant, handle_element_value)
+ (handle_annotation, handle_annotations)
+ (handle_annotation_attribute, rewrite_reflection_indexes)
+ (handle_member_annotations, handle_parameter_annotations)
(handle_default_annotation): New functions.
- (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
- (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
- (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
- (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
+ (HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
+ (HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
+ (HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
+ (HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
(HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
- * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
+ * java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
(TYPE_REFLECTION_DATA): New.
(TYPE_REFLECTION_DATASIZE): New.
* jcf.h (enum cpool_tag): Convert a bunch of #define constants to
@@ -2256,7 +2260,7 @@
putVolatile_builtin, getVolatile_builtin): New builtins.
2006-06-08 Andrew Haley <aph@redhat.com>
-
+
* expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
get_symbol_table_index().
(maybe_rewrite_invocation): Set SPECIAL if we need to access a
@@ -2276,7 +2280,7 @@
it to build_symbol_entry().
* parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
special accordingly.
-
+
2006-09-08 Andrew Haley <aph@redhat.com>
* class.c (layout_class_method): Use build_java_signature, not
@@ -2313,9 +2317,9 @@
2006-07-07 Andrew Haley <aph@redhat.com>
- * jcf-parse.c (set_source_filename): Don't check for
+ * jcf-parse.c (set_source_filename): Don't check for
CLASS_FROM_CURRENTLY_COMPILED_P.
- Remove // comments.
+ Remove // comments.
2006-07-07 Andrew Haley <aph@redhat.com>
@@ -2521,7 +2525,7 @@
* java-tree.h (update_aliases): Remove
* expr.c (expand_iinc): Remove call to update_aliases().
(STORE_INTERNAL): Likewise.
- * decl.c (update_aliases, initialize_local_variable)
+ * decl.c (update_aliases, initialize_local_variable)
(maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.
2006-06-19 Andrew Haley <aph@redhat.com>
@@ -2821,7 +2825,7 @@
* typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
array types.
-
+
2006-02-08 Tom Tromey <tromey@redhat.com>
PR java/22578:
@@ -3060,7 +3064,7 @@
* parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
the newly created type. Set import lists here, not in create_class.
(jdep_resolve_class): Set current_class.
- (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
+ (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
the current package context, not ctxp->package.
(cicp_cache): Removed.
(class_in_current_package): Simplify implementation using TYPE_PACKAGE.
@@ -3070,7 +3074,7 @@
2005-09-09 Andrew Haley <aph@redhat.com>
- PR libgcj/23182
+ PR libgcj/23182
* expr.c (pop_type_0): If the expected type is object or ptr
(i.e. void*), return the type of the object we just popped from
the stack.
@@ -3228,11 +3232,11 @@
empty_statement.
2005-07-08 Daniel Berlin <dberlin@dberlin.org>
-
+
* java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
(LABEL_PENDING_CHAIN): Ditto.
(LABEL_PC): Ditto.
- (DECL_BIT_INDEX): Ditto.
+ (DECL_BIT_INDEX): Ditto.
2005-07-07 Bryce McKinlay <mckinlay@redhat.com>
@@ -3241,7 +3245,7 @@
check_inner_class_access.
(check_inner_class_access): Use inner_class_accessible.
(resolve_inner_class): Simplify arguments. Create circularity hash
- here. Keep looking for classes if we found one that was inaccessible.
+ here. Keep looking for classes if we found one that was inaccessible.
Return the inaccessible class only if there is no other match.
(do_resolve_class): Update for new resolve_inner_class arguments.
Don't create circularity_hash here.
@@ -3256,7 +3260,7 @@
(java_complete_expand_method): Don't use purge_unchecked_exceptions
or save/restore the exception list.
(check_thrown_exceptions): Add uncaught exceptions in anonymous
- class initializers and constructors to the throws clause of the method.
+ class initializers and constructors to the throws clause of the method.
2005-07-05 Bryce McKinlay <mckinlay@redhat.com>
@@ -3431,7 +3435,7 @@
2005-05-26 Bryce McKinlay <mckinlay@redhat.com>
- * decl.c (GCJ_BINARYCOMPAT_ADDITION,
+ * decl.c (GCJ_BINARYCOMPAT_ADDITION,
GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
(FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
MINOR_BINARYCOMPAT_ABI_VERSION): New.
@@ -3626,7 +3630,7 @@
2005-04-27 Bryce McKinlay <mckinlay@redhat.com>
* gcj.texi (libgcj Runtime Properties): Remove obsolete
- gnu.gcj.runtime.NameFinder.* system properties. Update documentation
+ gnu.gcj.runtime.NameFinder.* system properties. Update documentation
for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
@@ -3673,7 +3677,7 @@
* java-except.h (struct eh_range.handler): Remove unused field.
(handle_nested_ranges): Remove function declaration.
- (sanity_check_exception_range): Add function declaration.
+ (sanity_check_exception_range): Add function declaration.
* verify.c (verify_jvm_instructions): Remove call to
handle_nested_ranges.
* verify-glue.c (verify_jvm_instructions_new): Call
@@ -3772,7 +3776,7 @@
PR java/20502
* jcf-parse.c (duplicate_class_warning): New function.
- (java_parse_file): Call duplicate_class_warning if
+ (java_parse_file): Call duplicate_class_warning if
CLASS_FROM_CURRENTLY_COMPILED_P is already set.
(parse_zip_file_entries): Likewise. Also set
CLASS_FROM_CURRENTLY_COMPILED_P.
@@ -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,
@@ -4206,19 +4206,15 @@ free_reg_equiv (void)
{
int i;
- if (reg_equiv_constant)
- free (reg_equiv_constant);
- if (reg_equiv_invariant)
- free (reg_equiv_invariant);
+ free (reg_equiv_constant);
+ free (reg_equiv_invariant);
reg_equiv_constant = 0;
reg_equiv_invariant = 0;
VEC_free (rtx, gc, reg_equiv_memory_loc_vec);
reg_equiv_memory_loc = 0;
- 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;
@@ -3550,8 +3550,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;
@@ -580,8 +580,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)
@@ -5085,11 +5085,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);
@@ -1617,8 +1617,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,5 +1,12 @@
+2011-03-08 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-11-04 Eric Botcazou <ebotcazou@adacore.com>
- Jakub Jelinek <jakub@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
PR preprocessor/39213
* directives.c (end_directive): Call _cpp_remove_overlay for deferred
@@ -752,7 +759,7 @@
* directives-only.c (_cpp_preprocess_dir_only): Likewise.
* internal.h (CPP_INCREMENT_LINE): Likewise.
* lex.c (_cpp_skip_block_comment): Use source_location.
-
+
2008-07-14 Ben Elliston <bje@au.ibm.com>
* include/cpplib.h (NODE_CONDITIONAL): New.
@@ -1018,7 +1025,7 @@
PR preprocessor/30363
* traditional.c (replace_args_and_push): Add local variable
- cxtquote, calculate the replacement text size assuming a
+ cxtquote, calculate the replacement text size assuming a
worst case of every input character quoted with backslash,
and properly handle output quoting of quote characters in
actual arguments used in function-like macros.
@@ -1172,8 +1179,8 @@
2007-06-09 Vladimir Prus <vladimir@codesourcery.com>
* files.c (open_file): Account for the
- fact that on windows, opening a directory gives
- EACCES.
+ fact that on windows, opening a directory gives
+ EACCES.
2007-06-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
@@ -1225,7 +1232,7 @@
2007-05-14 Janis Johnson <janis187@us.ibm.com>
- * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
+ * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
PR c/31924
* expr.c (interpret_float_suffix): Check for invalid suffix.
@@ -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);
}
@@ -258,8 +258,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-03-08 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.
+
2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
@@ -10,7 +19,7 @@
2010-09-10 Kai Tietz <kai.tietz@onevision.com>
- * configure: Regenerated.
+ * configure: Regenerated.
2010-09-08 Tristan Gingold <gingold@adacore.com>
@@ -149,7 +158,7 @@
2009-04-01 Ben Elliston <bje@au.ibm.com>
- * decContext.h: Include gstdint.h instead of <stdint.h>.
+ * decContext.h: Include gstdint.h instead of <stdint.h>.
2009-03-30 Ben Elliston <bje@au.ibm.com>
@@ -401,7 +410,7 @@
* Makefile.in: Don't include decRound in library used by compiler.
-2006-10-10 Brooks Moses <bmoses@stanford.edu>
+2006-10-10 Brooks Moses <bmoses@stanford.edu>
* Makefile.in: Added empty "pdf" target.
2006-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
@@ -496,11 +505,11 @@
2006-01-02 Paolo Bonzini <bonzini@gnu.org>
- PR target/25259
- * configure.ac: Use GCC_HEADER_STDINT.
- * decContext.h: Include gstdint.h.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
+ PR target/25259
+ * configure.ac: Use GCC_HEADER_STDINT.
+ * decContext.h: Include gstdint.h.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
2005-12-20 Roger Sayle <roger@eyesopen.com>
@@ -539,7 +548,7 @@
* decimal32.c: Ditto.
* decimal64.c: Ditto.
* decimal128.c: Ditto.
-
+
2005-11-29 Ben Elliston <bje@au.ibm.com>
* decUtility.c: Remove redundant #includes.
@@ -556,7 +565,7 @@
2005-11-29 Ben Elliston <bje@au.ibm.com>
* decimal32.h, decimal64.h, decimal128.h: New.
- * decimal32.c, decimal64.c, decimal128.c: Likewise.
+ * decimal32.c, decimal64.c, decimal128.c: Likewise.
* decContext.c, decContext.h: Likewise.
* decUtility.c, decUtility.h: Likewise.
* decNumber.c, decNumber.h, decNumberLocal.h: Likewise.
@@ -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,8 +1,12 @@
-2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47802
- * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
- return type.
+2011-03-08 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-03-04 Janne Blomqvist <jb@gcc.gnu.org>
@@ -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);
@@ -689,8 +689,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;
@@ -849,8 +849,7 @@ mem_flush (unix_stream * s __attribute__ ((unused)))
static int
mem_close (unix_stream * s)
{
- if (s != NULL)
- free (s);
+ free (s);
return 0;
}
@@ -690,8 +690,7 @@ __go_select (size_t count, _Bool has_default,
continue;
}
- if (allocated_buffer != NULL)
- free (allocated_buffer);
+ free (allocated_buffer);
return ret;
}
@@ -703,8 +702,7 @@ __go_select (size_t count, _Bool has_default,
if (has_default)
{
/* Use the default clause. */
- if (allocated_buffer != NULL)
- free (allocated_buffer);
+ free (allocated_buffer);
return 0;
}
@@ -1,5 +1,18 @@
2011-03-08 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-03-08 Jim Meyering <meyering@redhat.com>
+
avoid memory overrun in a test leading to potential double-free
* testsuite/test-expandargv.c (writeout_test): Fix off-by-one error:
i.e., do copy the trailing NUL byte.
@@ -481,7 +494,7 @@
2009-05-29 Kai Tietz <kai.tietz@onevision.com>
- * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.
+ * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.
2009-05-29 Michael Matz <matz@suse.de>
@@ -512,7 +525,7 @@
2009-04-29 Julian Brown <julian@codesourcery.com>
- * pex-win32.c (pex_win32_pipe): Add _O_NOINHERIT.
+ * pex-win32.c (pex_win32_pipe): Add _O_NOINHERIT.
(pex_win32_exec_child): Ensure each process has only one handle open
on pipe endpoints. Close standard input after creating child for
symmetry with standard output/standard error.
@@ -530,22 +543,22 @@
section, so that the native build does detect them at configure
time.
* configure: Regenerated.
-
+
2009-04-13 Ozkan Sezer <sezeroz@gmail.com>
- PR target/39397
- * pex-common.h (struct pex_obj): Store pid values as pid_t,
- not as long (members *children and (*wait))
- * pex-common.c (pex_run_in_environment): Likewise.
- * pex-win32.c (pex_win32_wait): Return pid_t and properly check
- returned pid value.
- * pex-djgpp.c (pex_djgpp_wait): Return pid_t.
- * pex-msdos.c (pex_msdos_wait): Likewise.
+ PR target/39397
+ * pex-common.h (struct pex_obj): Store pid values as pid_t,
+ not as long (members *children and (*wait))
+ * pex-common.c (pex_run_in_environment): Likewise.
+ * pex-win32.c (pex_win32_wait): Return pid_t and properly check
+ returned pid value.
+ * pex-djgpp.c (pex_djgpp_wait): Return pid_t.
+ * pex-msdos.c (pex_msdos_wait): Likewise.
2009-04-07 Arnaud Patard <apatard@mandriva.com>
- * libiberty/configure.ac: Fix Linux/MIPS matching rule.
- * libiberty/configure: Regenerate.
+ * libiberty/configure.ac: Fix Linux/MIPS matching rule.
+ * libiberty/configure: Regenerate.
2009-03-27 Ian Lance Taylor <iant@google.com>
@@ -630,7 +643,7 @@
2008-10-08 David Edelsohn <edelsohn@gnu.org>
* xstrdup.c: Include <sys/types.h> after "config.h"
-
+
2008-10-07 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure.ac: Call AC_SYS_LARGEFILE.
@@ -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;
}
@@ -1215,14 +1215,8 @@ squangle_mop_up (struct work_stuff *work)
{
/* clean up the B and K type mangling types. */
forget_B_and_K_types (work);
- if (work -> btypevec != NULL)
- {
- free ((char *) work -> btypevec);
- }
- if (work -> ktypevec != NULL)
- {
- free ((char *) work -> ktypevec);
- }
+ free ((char *) work -> btypevec);
+ free ((char *) work -> ktypevec);
}
@@ -1311,8 +1305,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-03-08 Jim Meyering <meyering@redhat.com>
+
+ * libsupc++/del_opnt.cc (operator delete): Remove useless
+ if-before-free.
+
2011-03-07 Jason Merrill <jason@redhat.com>
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
@@ -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-03-08 Jim Meyering <meyering@redhat.com>
+
+ * lto-plugin.c (free_1, free_2): Remove useless if-before-free.
+
2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.in: Regenerate.
@@ -376,7 +380,7 @@
(onload): Don't create the temporary directory.
2009-11-04 Richard Guenther <rguenther@suse.de>
- Rafael Avila de Espindola <espindola@google.com>
+ Rafael Avila de Espindola <espindola@google.com>
* lto-plugin.c (plugin_file_info): Remove temp field.
(cleanup_handler): Don't delete temporary objects.
@@ -411,10 +415,10 @@
* aclocal.m4: Likewise.
2009-10-19 Rafael Avila de Espindola <espindola@google.com>
-
- PR40790
- * configure: Regenerate.
- * configure.ac: Add AC_TYPE_UINT64_T.
+
+ PR40790
+ * configure: Regenerate.
+ * configure.ac: Add AC_TYPE_UINT64_T.
2009-10-16 Rafael Avila de Espindola <espindola@google.com>
@@ -499,7 +503,7 @@
(num_pass_through_items): New.
(all_symbols_read_handler): Update to use the -pass-through option.
(process_option): Replace -libgcc with -pass-through.
-
+
2009-09-30 Rafael Avila de Espindola <espindola@google.com>
* lto-plugin.c (onload): Return a ld_plugin_status. Don't require
@@ -655,7 +659,7 @@
2008-09-23 Rafael Espindola <espindola@google.com>
- * plugin-api.h: Moved to include.
+ * plugin-api.h: Moved to include.
2008-09-23 Rafael Espindola <espindola@google.com>
@@ -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;
}