diff options
Diffstat (limited to 'posix/regex.c')
-rw-r--r-- | posix/regex.c | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/posix/regex.c b/posix/regex.c index d2d4f28e01..7a4f304cdd 100644 --- a/posix/regex.c +++ b/posix/regex.c @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. @@ -22,9 +22,28 @@ #include "config.h" #endif -/* Make sure noone compiles this code with a C++ compiler. */ -#ifdef __cplusplus -# error "This is C code, use a C compiler" +#ifdef _AIX +#pragma alloca +#else +# ifndef allocax /* predefined by HP cc +Olibcalls */ +# ifdef __GNUC__ +# define alloca(size) __builtin_alloca (size) +# else +# if HAVE_ALLOCA_H +# include <alloca.h> +# else +# ifdef __hpux + void *alloca (); +# else +# if !defined __OS2__ && !defined WIN32 + char *alloca (); +# else +# include <malloc.h> /* OS/2 defines alloca in here */ +# endif +# endif +# endif +# endif +# endif #endif #ifdef _LIBC @@ -52,6 +71,10 @@ # include "../locale/localeinfo.h" #endif +/* POSIX says that <sys/types.h> must be included (by the caller) before + <regex.h>. */ +#include <sys/types.h> + /* On some systems, limits.h sets RE_DUP_MAX to a lower value than GNU regex allows. Include it before <regex.h>, which correctly #undefs RE_DUP_MAX and sets it to the right value. */ |