fortran: Remove conditionals around free()

gcc/fortran/ChangeLog:

	* resolve.cc (resolve_select_type): Call free() unconditionally.

libgfortran/ChangeLog:

	* caf/single.c (_gfortran_caf_register): Call free() unconditionally.
	* io/async.c (update_pdt, async_io): Likewise.
	* io/format.c (free_format_data): Likewise.
	* io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise.
	* io/unix.c (mem_close): Likewise.
This commit is contained in:
Bernhard Reutner-Fischer 2023-05-07 18:32:01 +02:00
parent 2521390dd2
commit ca2f64d5d0
6 changed files with 9 additions and 18 deletions

View file

@ -9931,8 +9931,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
gfc_resolve_blocks (code->block, gfc_current_ns);
gfc_current_ns = old_ns;
if (ref)
free (ref);
free(ref);
}

View file

@ -163,10 +163,8 @@ _gfortran_caf_register (size_t size, caf_register_t type, caf_token_t *token,
/* Freeing the memory conditionally seems pointless, but
caf_internal_error () may return, when a stat is given and then the
memory may be lost. */
if (local)
free (local);
if (*token)
free (*token);
free(local);
free(*token);
caf_internal_error (alloc_fail_msg, stat, errmsg, errmsg_len);
return;
}

View file

@ -71,8 +71,7 @@ update_pdt (st_parameter_dt **old, st_parameter_dt *new) {
NOTE ("Changing pdts, current_unit = %p", (void *) (new->u.p.current_unit));
temp = *old;
*old = new;
if (temp)
free (temp);
free(temp);
}
/* Destroy an adv_cond structure. */
@ -106,8 +105,7 @@ async_io (void *arg)
/* Loop over the queue entries until they are finished. */
while (ctq)
{
if (prev)
free (prev);
free(prev);
prev = ctq;
if (!au->error.has_error)
{

View file

@ -269,8 +269,7 @@ free_format_data (format_data *fmt)
fnp->format != FMT_NONE; fnp++)
if (fnp->format == FMT_DT)
{
if (GFC_DESCRIPTOR_DATA(fnp->u.udf.vlist))
free (GFC_DESCRIPTOR_DATA(fnp->u.udf.vlist));
free(GFC_DESCRIPTOR_DATA(fnp->u.udf.vlist));
free (fnp->u.udf.vlist);
}

View file

@ -4522,8 +4522,7 @@ st_read_done_worker (st_parameter_dt *dtp, bool unlock)
{
free (dtp->u.p.current_unit->filename);
dtp->u.p.current_unit->filename = NULL;
if (dtp->u.p.current_unit->ls)
free (dtp->u.p.current_unit->ls);
free(dtp->u.p.current_unit->ls);
dtp->u.p.current_unit->ls = NULL;
}
free_newunit = true;
@ -4619,8 +4618,7 @@ st_write_done_worker (st_parameter_dt *dtp, bool unlock)
{
free (dtp->u.p.current_unit->filename);
dtp->u.p.current_unit->filename = NULL;
if (dtp->u.p.current_unit->ls)
free (dtp->u.p.current_unit->ls);
free(dtp->u.p.current_unit->ls);
dtp->u.p.current_unit->ls = NULL;
}
free_newunit = true;

View file

@ -1028,8 +1028,7 @@ mem_flush (unix_stream *s __attribute__ ((unused)))
static int
mem_close (unix_stream *s)
{
if (s)
free (s);
free(s);
return 0;
}