aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJim Meyering <meyering@gcc.gnu.org>2011-04-20 18:19:03 +0000
committerJim Meyering <meyering@gcc.gnu.org>2011-04-20 18:19:03 +0000
commit046957830e176ad16fdef39bc7f1cd44d8fbc3b7 (patch)
treee56a024bf4863c42aaa3f941f466a849bb9d3b82 /gcc/fortran
parent53eebfbf949c9cfe6a060a91a09242cb7204f6d8 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/fortran/expr.c3
-rw-r--r--gcc/fortran/gfortranspec.c5
-rw-r--r--gcc/fortran/interface.c3
-rw-r--r--gcc/fortran/trans-openmp.c3
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);
}