diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | eval.c | 20 | ||||
-rw-r--r-- | gc.c | 18 |
3 files changed, 31 insertions, 15 deletions
@@ -1,3 +1,11 @@ +Sat Oct 26 03:28:43 2002 Akinori MUSHA <knu@iDaemons.org> + + * eval.c, gc.c: use a common set of alloca() #ifdef's. This fixes + the build with Intel C Compiler for Linux. + + * eval.c (rb_f_require): declare old_func with a real type, not + just type modifiers. + Fri Oct 25 02:55:01 2002 Minero Aoki <aamine@loveruby.net> * string.c (rb_str_split_m): RSTRING(str)->ptr might become NULL. @@ -35,17 +35,19 @@ # endif # endif /* atarist */ #else -# if defined(HAVE_ALLOCA_H) +# ifdef HAVE_ALLOCA_H # include <alloca.h> -# elif !defined(alloca) -char *alloca(); -# endif +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +void *alloca (); +# endif +# endif /* AIX */ +# endif /* HAVE_ALLOCA_H */ #endif /* __GNUC__ */ -#ifdef _AIX -#pragma alloca -#endif - #ifdef HAVE_STDARG_PROTOTYPES #include <stdarg.h> #define va_init_list(a,b) va_start(a,b) @@ -5601,7 +5603,7 @@ rb_f_require(obj, fname) { int volatile old_vmode = scope_vmode; NODE *const volatile old_node = ruby_current_node; - const volatile old_func = ruby_frame->last_func; + const volatile ID old_func = ruby_frame->last_func; ruby_current_node = 0; ruby_sourcefile = rb_source_filename(RSTRING(fname)->ptr); @@ -38,19 +38,25 @@ void rb_io_fptr_finalize _((struct OpenFile*)); #endif /* Make alloca work the best possible way. */ -#ifndef __GNUC__ -# if HAVE_ALLOCA_H +#ifdef __GNUC__ +# ifndef atarist +# ifndef alloca +# define alloca __builtin_alloca +# endif +# endif /* atarist */ +#else +# ifdef HAVE_ALLOCA_H # include <alloca.h> # else # ifdef _AIX -# pragma alloca + #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ void *alloca (); # endif -# endif -# endif -#endif +# endif /* AIX */ +# endif /* HAVE_ALLOCA_H */ +#endif /* __GNUC__ */ #ifndef GC_MALLOC_LIMIT #if defined(MSDOS) || defined(__human68k__) |