Remove free_mem

From-SVN: r159160
This commit is contained in:
Janne Blomqvist 2010-05-07 18:55:59 +03:00
parent 5cd0e96b0e
commit bb408e876c
14 changed files with 85 additions and 62 deletions

View File

@ -1,3 +1,31 @@
2010-05-07 Janne Blomqvist <jb@gcc.gnu.org>
* libgfortran.h (free_mem): Remove prototype.
* runtime/memory.c (free_mem): Remove function.
* intrinsics/date_and_time.c (secnds): Replace free_mem() with
free().
* io/fbuf.c (fbuf_destroy): Likewise.
* io/format.c (free_format_hash_table): Likewise.
(save_parsed_format): Likewise.
(free_format_data): Likewise.
* io/list_read.c (free_saved): Likewise.
(free_line): Likewise.
(nml_touch_nodes): Likewise.
(nml_read_obj): Likewise
* io/lock.c (free_ionml): Likewise.
* io/open.c (new_unit): Likewise.
(already_open): Likewise.
* io/unit.c (destroy_unit_mutex): Likewise.
(free_internal_unit): Likewise.
(close_unit_1): Likewise.
* io/unix.c (raw_close): Likewise.
(buf_close): Likewise.
(mem_close): Likewise.
(tempfile): Likewise.
* io/write.c (nml_write_obj): Likewise.
* io/write_float.def (output_float_FMT_G_##): Likewise.
* runtime/error.c (show_locus): Likewise.
2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR other/43620 PR other/43620

View File

@ -3,7 +3,7 @@
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Steven Bosscher. Contributed by Steven Bosscher.
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public modify it under the terms of the GNU General Public
@ -366,7 +366,7 @@ secnds (GFC_REAL_4 *x)
date_and_time (NULL, NULL, NULL, avalues, 0, 0, 0); date_and_time (NULL, NULL, NULL, avalues, 0, 0, 0);
free_mem (avalues); free (avalues);
temp1 = 3600.0 * (GFC_REAL_4)values[4] + temp1 = 3600.0 * (GFC_REAL_4)values[4] +
60.0 * (GFC_REAL_4)values[5] + 60.0 * (GFC_REAL_4)values[5] +

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2008, 2009 Free Software Foundation, Inc. /* Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Janne Blomqvist Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
@ -52,8 +52,8 @@ fbuf_destroy (gfc_unit * u)
if (u->fbuf == NULL) if (u->fbuf == NULL)
return; return;
if (u->fbuf->buf) if (u->fbuf->buf)
free_mem (u->fbuf->buf); free (u->fbuf->buf);
free_mem (u->fbuf); free (u->fbuf);
u->fbuf = NULL; u->fbuf = NULL;
} }

View File

@ -3,7 +3,7 @@
Contributed by Andy Vaught Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle F2003 I/O support contributed by Jerry DeLisle
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -33,6 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <ctype.h> #include <ctype.h>
#include <string.h> #include <string.h>
#include <stdbool.h> #include <stdbool.h>
#include <stdlib.h>
#define FARRAY_SIZE 64 #define FARRAY_SIZE 64
@ -90,7 +91,7 @@ free_format_hash_table (gfc_unit *u)
if (u->format_hash_table[i].hashed_fmt != NULL) if (u->format_hash_table[i].hashed_fmt != NULL)
{ {
free_format_data (u->format_hash_table[i].hashed_fmt); free_format_data (u->format_hash_table[i].hashed_fmt);
free_mem (u->format_hash_table[i].key); free (u->format_hash_table[i].key);
} }
u->format_hash_table[i].key = NULL; u->format_hash_table[i].key = NULL;
u->format_hash_table[i].key_len = 0; u->format_hash_table[i].key_len = 0;
@ -171,7 +172,7 @@ save_parsed_format (st_parameter_dt *dtp)
u->format_hash_table[hash].hashed_fmt = NULL; u->format_hash_table[hash].hashed_fmt = NULL;
if (u->format_hash_table[hash].key != NULL) if (u->format_hash_table[hash].key != NULL)
free_mem (u->format_hash_table[hash].key); free (u->format_hash_table[hash].key);
u->format_hash_table[hash].key = get_mem (dtp->format_len); u->format_hash_table[hash].key = get_mem (dtp->format_len);
memcpy (u->format_hash_table[hash].key, dtp->format, dtp->format_len); memcpy (u->format_hash_table[hash].key, dtp->format, dtp->format_len);
@ -282,10 +283,10 @@ free_format_data (format_data *fmt)
for (fa = fmt->array.next; fa; fa = fa_next) for (fa = fmt->array.next; fa; fa = fa_next)
{ {
fa_next = fa->next; fa_next = fa->next;
free_mem (fa); free (fa);
} }
free_mem (fmt); free (fmt);
fmt = NULL; fmt = NULL;
} }

View File

@ -4,7 +4,7 @@
Namelist input contributed by Paul Thomas Namelist input contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle F2003 I/O support contributed by Jerry DeLisle
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -110,7 +110,7 @@ free_saved (st_parameter_dt *dtp)
if (dtp->u.p.saved_string == NULL) if (dtp->u.p.saved_string == NULL)
return; return;
free_mem (dtp->u.p.saved_string); free (dtp->u.p.saved_string);
dtp->u.p.saved_string = NULL; dtp->u.p.saved_string = NULL;
dtp->u.p.saved_used = 0; dtp->u.p.saved_used = 0;
@ -128,7 +128,7 @@ free_line (st_parameter_dt *dtp)
if (dtp->u.p.line_buffer == NULL) if (dtp->u.p.line_buffer == NULL)
return; return;
free_mem (dtp->u.p.line_buffer); free (dtp->u.p.line_buffer);
dtp->u.p.line_buffer = NULL; dtp->u.p.line_buffer = NULL;
} }
@ -2175,7 +2175,7 @@ nml_touch_nodes (namelist_info * nl)
else else
break; break;
} }
free_mem (ext_name); free (ext_name);
return; return;
} }
@ -2440,18 +2440,18 @@ nml_read_obj (st_parameter_dt *dtp, namelist_info * nl, index_type offset,
pprev_nl, nml_err_msg, nml_err_msg_size, pprev_nl, nml_err_msg, nml_err_msg_size,
clow, chigh) == FAILURE) clow, chigh) == FAILURE)
{ {
free_mem (obj_name); free (obj_name);
return FAILURE; return FAILURE;
} }
if (dtp->u.p.input_complete) if (dtp->u.p.input_complete)
{ {
free_mem (obj_name); free (obj_name);
return SUCCESS; return SUCCESS;
} }
} }
free_mem (obj_name); free (obj_name);
goto incr_idx; goto incr_idx;
default: default:

View File

@ -1,8 +1,9 @@
/* Thread/recursion locking /* Thread/recursion locking
Copyright 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc. Copyright 2002, 2003, 2004, 2005, 2007, 2009, 2010
Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org> and Andy Vaught Contributed by Paul Brook <paul@nowt.org> and Andy Vaught
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public modify it under the terms of the GNU General Public
@ -25,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "io.h" #include "io.h"
#include <string.h> #include <string.h>
#include <stdlib.h>
/* library_start()-- Called with a library call is entered. */ /* library_start()-- Called with a library call is entered. */
@ -52,13 +54,13 @@ free_ionml (st_parameter_dt *dtp)
{ {
t2 = t1; t2 = t1;
t1 = t1->next; t1 = t1->next;
free_mem (t2->var_name); free (t2->var_name);
if (t2->var_rank) if (t2->var_rank)
{ {
free_mem (t2->dim); free (t2->dim);
free_mem (t2->ls); free (t2->ls);
} }
free_mem (t2); free (t2);
} }
} }
dtp->u.p.ionml = NULL; dtp->u.p.ionml = NULL;

View File

@ -1,9 +1,9 @@
/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 /* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Andy Vaught Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle F2003 I/O support contributed by Jerry DeLisle
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -30,6 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
#include <stdlib.h>
static const st_option access_opt[] = { static const st_option access_opt[] = {
@ -623,7 +624,7 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags * flags)
test_endfile (u); test_endfile (u);
if (flags->status == STATUS_SCRATCH && opp->file != NULL) if (flags->status == STATUS_SCRATCH && opp->file != NULL)
free_mem (opp->file); free (opp->file);
if (flags->form == FORM_FORMATTED) if (flags->form == FORM_FORMATTED)
{ {
@ -644,7 +645,7 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags * flags)
/* Free memory associated with a temporary filename. */ /* Free memory associated with a temporary filename. */
if (flags->status == STATUS_SCRATCH && opp->file != NULL) if (flags->status == STATUS_SCRATCH && opp->file != NULL)
free_mem (opp->file); free (opp->file);
fail: fail:
@ -689,7 +690,7 @@ already_open (st_parameter_open *opp, gfc_unit * u, unit_flags * flags)
u->s = NULL; u->s = NULL;
if (u->file) if (u->file)
free_mem (u->file); free (u->file);
u->file = NULL; u->file = NULL;
u->file_len = 0; u->file_len = 0;

View File

@ -1,8 +1,9 @@
/* Copyright (C) 2002, 2003, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. /* Copyright (C) 2002, 2003, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Andy Vaught Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle F2003 I/O support contributed by Jerry DeLisle
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -210,7 +211,7 @@ static void
destroy_unit_mutex (gfc_unit * u) destroy_unit_mutex (gfc_unit * u)
{ {
__gthread_mutex_destroy (&u->lock); __gthread_mutex_destroy (&u->lock);
free_mem (u); free (u);
} }
@ -473,10 +474,10 @@ free_internal_unit (st_parameter_dt *dtp)
if (dtp->u.p.current_unit != NULL) if (dtp->u.p.current_unit != NULL)
{ {
if (dtp->u.p.current_unit->ls != NULL) if (dtp->u.p.current_unit->ls != NULL)
free_mem (dtp->u.p.current_unit->ls); free (dtp->u.p.current_unit->ls);
if (dtp->u.p.current_unit->s) if (dtp->u.p.current_unit->s)
free_mem (dtp->u.p.current_unit->s); free (dtp->u.p.current_unit->s);
destroy_unit_mutex (dtp->u.p.current_unit); destroy_unit_mutex (dtp->u.p.current_unit);
} }
@ -642,7 +643,7 @@ close_unit_1 (gfc_unit *u, int locked)
delete_unit (u); delete_unit (u);
if (u->file) if (u->file)
free_mem (u->file); free (u->file);
u->file = NULL; u->file = NULL;
u->file_len = 0; u->file_len = 0;

View File

@ -3,7 +3,7 @@
Contributed by Andy Vaught Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle F2003 I/O support contributed by Jerry DeLisle
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -351,7 +351,7 @@ raw_close (unix_stream * s)
retval = close (s->fd); retval = close (s->fd);
else else
retval = 0; retval = 0;
free_mem (s); free (s);
return retval; return retval;
} }
@ -564,7 +564,7 @@ buf_close (unix_stream * s)
{ {
if (buf_flush (s) != 0) if (buf_flush (s) != 0)
return -1; return -1;
free_mem (s->buffer); free (s->buffer);
return raw_close (s); return raw_close (s);
} }
@ -739,7 +739,7 @@ static int
mem_close (unix_stream * s) mem_close (unix_stream * s)
{ {
if (s != NULL) if (s != NULL)
free_mem (s); free (s);
return 0; return 0;
} }
@ -937,7 +937,7 @@ tempfile (st_parameter_open *opp)
#endif /* HAVE_MKSTEMP */ #endif /* HAVE_MKSTEMP */
if (fd < 0) if (fd < 0)
free_mem (template); free (template);
else else
{ {
opp->file = template; opp->file = template;
@ -1395,7 +1395,7 @@ retry:
__gthread_mutex_lock (&unit_lock); __gthread_mutex_lock (&unit_lock);
__gthread_mutex_unlock (&u->lock); __gthread_mutex_unlock (&u->lock);
if (predec_waiting_locked (u) == 0) if (predec_waiting_locked (u) == 0)
free_mem (u); free (u);
goto retry; goto retry;
} }
@ -1460,7 +1460,7 @@ flush_all_units (void)
__gthread_mutex_lock (&unit_lock); __gthread_mutex_lock (&unit_lock);
__gthread_mutex_unlock (&u->lock); __gthread_mutex_unlock (&u->lock);
if (predec_waiting_locked (u) == 0) if (predec_waiting_locked (u) == 0)
free_mem (u); free (u);
} }
} }
while (1); while (1);

View File

@ -1,10 +1,10 @@
/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 /* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Andy Vaught Contributed by Andy Vaught
Namelist output contributed by Paul Thomas Namelist output contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle F2003 I/O support contributed by Jerry DeLisle
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -1683,8 +1683,8 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info * obj, index_type offset,
obj, ext_name); obj, ext_name);
} }
free_mem (obj_name); free (obj_name);
free_mem (ext_name); free (ext_name);
goto obj_loop; goto obj_loop;
default: default:

View File

@ -3,7 +3,7 @@
Write float code factoring to this file by Jerry DeLisle Write float code factoring to this file by Jerry DeLisle
F2003 I/O support contributed by Jerry DeLisle F2003 I/O support contributed by Jerry DeLisle
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -743,7 +743,7 @@ output_float_FMT_G_ ## x (st_parameter_dt *dtp, const fnode *f, \
edigits);\ edigits);\
dtp->u.p.scale_factor = save_scale_factor;\ dtp->u.p.scale_factor = save_scale_factor;\
\ \
free_mem(newf);\ free (newf);\
\ \
if (nb > 0 && !dtp->u.p.g0_no_blanks)\ if (nb > 0 && !dtp->u.p.g0_no_blanks)\
{ \ { \

View File

@ -4,7 +4,7 @@
Contributed by Paul Brook <paul@nowt.org>, and Contributed by Paul Brook <paul@nowt.org>, and
Andy Vaught <andy@xena.eas.asu.edu> Andy Vaught <andy@xena.eas.asu.edu>
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -767,9 +767,6 @@ internal_proto(set_fpu);
extern void *get_mem (size_t) __attribute__ ((malloc)); extern void *get_mem (size_t) __attribute__ ((malloc));
internal_proto(get_mem); internal_proto(get_mem);
extern void free_mem (void *);
internal_proto(free_mem);
extern void *internal_malloc_size (size_t) __attribute__ ((malloc)); extern void *internal_malloc_size (size_t) __attribute__ ((malloc));
internal_proto(internal_malloc_size); internal_proto(internal_malloc_size);

View File

@ -2,7 +2,7 @@
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Andy Vaught Contributed by Andy Vaught
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or modify Libgfortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -159,7 +159,7 @@ show_locus (st_parameter_common *cmp)
{ {
st_printf ("At line %d of file %s (unit = %d, file = '%s')\n", st_printf ("At line %d of file %s (unit = %d, file = '%s')\n",
(int) cmp->line, cmp->filename, (int) cmp->unit, filename); (int) cmp->line, cmp->filename, (int) cmp->unit, filename);
free_mem (filename); free (filename);
} }
else else
{ {

View File

@ -1,8 +1,8 @@
/* Memory management routines. /* Memory management routines.
Copyright 2002, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. Copyright 2002, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org> Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public modify it under the terms of the GNU General Public
@ -49,13 +49,6 @@ get_mem (size_t n)
} }
void
free_mem (void *p)
{
free (p);
}
/* Allocate memory for internal (compiler generated) use. */ /* Allocate memory for internal (compiler generated) use. */
void * void *