From 046957830e176ad16fdef39bc7f1cd44d8fbc3b7 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 20 Apr 2011 18:19:03 +0000 Subject: 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 --- gcc/fortran/ChangeLog | 7 +++++++ gcc/fortran/expr.c | 3 +-- gcc/fortran/gfortranspec.c | 5 ++--- gcc/fortran/interface.c | 3 +-- gcc/fortran/trans-openmp.c | 3 +-- 5 files changed, 12 insertions(+), 9 deletions(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7a857a4..9e949b3 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2011-04-20 Jim Meyering + + * 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 PR fortran/48588 diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 42b65c6..dae2149 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -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; diff --git a/gcc/fortran/gfortranspec.c b/gcc/fortran/gfortranspec.c index 2d732fd..4d939a0 100644 --- a/gcc/fortran/gfortranspec.c +++ b/gcc/fortran/gfortranspec.c @@ -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; diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 872d489..5e7a1dc 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -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; diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c index d709fdf..625daeb 100644 --- a/gcc/fortran/trans-openmp.c +++ b/gcc/fortran/trans-openmp.c @@ -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); } -- cgit v1.1