diff options
author | Jim Meyering <meyering@gcc.gnu.org> | 2011-04-20 18:19:03 +0000 |
---|---|---|
committer | Jim Meyering <meyering@gcc.gnu.org> | 2011-04-20 18:19:03 +0000 |
commit | 046957830e176ad16fdef39bc7f1cd44d8fbc3b7 (patch) | |
tree | e56a024bf4863c42aaa3f941f466a849bb9d3b82 /gcc/fortran | |
parent | 53eebfbf949c9cfe6a060a91a09242cb7204f6d8 (diff) | |
download | gcc-046957830e176ad16fdef39bc7f1cd44d8fbc3b7.zip gcc-046957830e176ad16fdef39bc7f1cd44d8fbc3b7.tar.gz gcc-046957830e176ad16fdef39bc7f1cd44d8fbc3b7.tar.bz2 |
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
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/expr.c | 3 | ||||
-rw-r--r-- | gcc/fortran/gfortranspec.c | 5 | ||||
-rw-r--r-- | gcc/fortran/interface.c | 3 | ||||
-rw-r--r-- | gcc/fortran/trans-openmp.c | 3 |
5 files changed, 12 insertions, 9 deletions
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 <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 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); } |