summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gc.c b/gc.c
index 9801a19adb..3defaab7c7 100644
--- a/gc.c
+++ b/gc.c
@@ -36,17 +36,19 @@ void rb_io_fptr_finalize _((struct OpenFile*));
# endif
# endif /* atarist */
#else
-# if defined(HAVE_ALLOCA_H)
+# ifdef HAVE_ALLOCA_H
# include <alloca.h>
-# elif !defined(alloca)
-void *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
-
static void run_final();
#ifndef GC_MALLOC_LIMIT