libgfortran.h: define gfc_alloca()

2004-09-21  Steven G. Kargl  <kargls@comcast.net>

* libgfortran.h: define gfc_alloca()
* intrinsics/env.c (getenv, get_environment_variable_i4): Use it.

From-SVN: r87801
This commit is contained in:
Steven G. Kargl 2004-09-21 12:38:34 +00:00 committed by Tobias Schlüter
parent 936f1f0641
commit c6847e25b9
3 changed files with 13 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2004-09-21 Steven G. Kargl <kargls@comcast.net>
* libgfortran.h: define gfc_alloca()
* intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
2004-09-21 Bud Davis <bdavis9659@comcast.net>
PR fortran/17286

View File

@ -24,7 +24,6 @@ Boston, MA 02111-1307, USA. */
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include <alloca.h>
#include "libgfortran.h"
@ -55,7 +54,7 @@ prefix(getenv) (char * name,
name_len--;
/* Make a null terminated copy of the string. */
name_nt = alloca (name_len + 1);
name_nt = gfc_alloca (name_len + 1);
memcpy (name_nt, name, name_len);
name_nt[name_len] = '\0';
@ -131,7 +130,7 @@ prefix(get_environment_variable_i4)
name_len--;
}
/* Make a null terminated copy of the name. */
name_nt = alloca (name_len + 1);
name_nt = gfc_alloca (name_len + 1);
memcpy (name_nt, name, name_len);
name_nt[name_len] = '\0';

View File

@ -1,5 +1,5 @@
/* Common declarations for all of libgfor.
Copyright 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>, and
Andy Vaught <andy@xena.eas.asu.edu>
@ -237,6 +237,11 @@ extern unsigned line; /* Location of the current libray call (optional). */
#define filename prefix(filename)
extern char *filename;
/* Avoid conflicting prototypes of alloca() in system headers by using
GCC's builtin alloca(). */
#define gfc_alloca(x) __builtin_alloca(x)
/* main.c */