+2005-05-12 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21324
+ * runtime/memory.c: Don't define GFC_CLEAR_MEMORY (it's a
+ performance hog).
+ * io/open.c (new_unit): Zero freshly allocated memory for
+ unit structure.
+ * io/unit.c (init_units): Zero freshly allocated memory for
+ STDIN, STDOUT and STDERR.
+ * io/unix.c (open_internal): Zero freshly allocated memory
+ for unix_stream.
+ (fd_to_stream): Likewise.
+
2005-05-11 Bud Davis <bdavis@gfortran.org>
PR fortran/19478
/* Create the unit structure. */
u = get_mem (sizeof (gfc_unit) + ioparm.file_len);
+ memset (u, '\0', sizeof (gfc_unit) + ioparm.file_len);
u->unit_number = ioparm.unit;
u->s = s;
if (options.stdin_unit >= 0)
{ /* STDIN */
u = get_mem (sizeof (gfc_unit));
+ memset (u, '\0', sizeof (gfc_unit));
u->unit_number = options.stdin_unit;
u->s = input_stream ();
if (options.stdout_unit >= 0)
{ /* STDOUT */
u = get_mem (sizeof (gfc_unit));
+ memset (u, '\0', sizeof (gfc_unit));
u->unit_number = options.stdout_unit;
u->s = output_stream ();
if (options.stderr_unit >= 0)
{ /* STDERR */
u = get_mem (sizeof (gfc_unit));
+ memset (u, '\0', sizeof (gfc_unit));
u->unit_number = options.stderr_unit;
u->s = error_stream ();
unix_stream *s;
s = get_mem (sizeof (unix_stream));
+ memset (s, '\0', sizeof (unix_stream));
s->buffer = base;
s->buffer_offset = 0;
unix_stream *s;
s = get_mem (sizeof (unix_stream));
+ memset (s, '\0', sizeof (unix_stream));
s->fd = fd;
s->buffer_offset = 0;
return memory that is guaranteed to be set to zero. This can have
a severe efficiency penalty, so it should never be set if good
performance is desired, but it can help when you're debugging code. */
-#define GFC_CLEAR_MEMORY
+/* #define GFC_CLEAR_MEMORY */
/* If GFC_CHECK_MEMORY is defined, we do some sanity checks at runtime.
This causes small overhead, but again, it also helps debugging. */