diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-03-26 08:57:16 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-03-26 08:57:16 +0000 |
commit | de51a663b4300777be15003388070748a974e7c7 (patch) | |
tree | 635c8f7cfaf91bc155d82dd62b69af9d36f95e16 /gc.c | |
parent | 44f754bd87e4b800118c59020d67123430535b9f (diff) | |
download | ruby-de51a663b4300777be15003388070748a974e7c7.tar.gz |
* eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash.
* file.c (rb_file_flock): do not trap EINTR.
* missing/flock.c (flock): returns the value from lockf(2)
directly.
* eval.c (ev_const_defined): should ignore toplevel cbase (Object).
* eval.c (ev_const_get): ditto.
* ext/md5/md5.h: replace by independent md5 implementation
contributed by L. Peter Deutsch (thanks).
* ext/md5/md5init.c: adopted to Deutsch's md5 implementation.
* pack.c (pack_unpack): string from P/p should be tainted.
* ext/curses/curses.c: curses on Mac OS X public beta does not
have _maxx etc.
* marshal.c (w_object): should truncate trailing zero short for
bignums.
* object.c (sym_intern): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 26 |
1 files changed, 11 insertions, 15 deletions
@@ -32,22 +32,18 @@ void rb_io_fptr_finalize _((struct OpenFile*)); #endif /* Make alloca work the best possible way. */ -#ifdef __GNUC__ -# ifndef atarist -# ifndef alloca -# define alloca __builtin_alloca -# endif -# endif /* atarist */ -#else -# if defined(HAVE_ALLOCA_H) +#ifndef __GNUC__ +# if HAVE_ALLOCA_H # include <alloca.h> -# elif !defined(alloca) -void *alloca(); +# else +# ifdef _AIX +# pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +void *alloca (); +# endif +# endif # endif -#endif /* __GNUC__ */ - -#ifdef _AIX -#pragma alloca #endif static void run_final(); @@ -857,7 +853,7 @@ obj_free(obj) break; #ifdef C_ALLOCA case NODE_ALLOCA: - RUBY_CRITICAL(free(RANY(obj)->as.node.u1.value)); + RUBY_CRITICAL(free(RANY(obj)->as.node.u1.node)); break; #endif } |