summaryrefslogtreecommitdiffstats
path: root/scmfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'scmfig.h')
-rw-r--r--scmfig.h44
1 files changed, 29 insertions, 15 deletions
diff --git a/scmfig.h b/scmfig.h
index ba95450..df8fb8b 100644
--- a/scmfig.h
+++ b/scmfig.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -54,6 +54,10 @@
# define getcwd(S,L) getwd(S)
# endif
+# ifdef __amigados__
+# define STDC_HEADERS
+# endif
+
#else /* HAVE_CONFIG_H */
# ifdef sequent
@@ -167,12 +171,6 @@ rgx.c init_rgx(); regcomp and regexec. */
# define GC_FREE_SEGMENTS
# endif
-/* MEMOIZE_LOCALS will speed up most local variable references. You
- will need to remove this and recompile eval.c if you use very large or
- deep environments (more than 4095 bound variables in one procedure)*/
-
-# define MEMOIZE_LOCALS
-
/* #define CHEAP_CONTINUATIONS */
/* #define TICKS */
@@ -197,6 +195,11 @@ rgx.c init_rgx(); regcomp and regexec. */
/* #define CAREFUL_INTS */
+/* Define MACRO if you want C level support for hygienic and referentially
+ transparent macros. */
+
+/* #define MACRO */
+
/* STDC_HEADERS indicates that the include file names are the same as
ANSI C. For most modern systems this is the case. */
@@ -205,6 +208,13 @@ rgx.c init_rgx(); regcomp and regexec. */
# define __STDC__
# endif
+/* added by Denys Duchier */
+# ifndef SVR4
+# ifdef __svr4__
+# define SVR4
+# endif
+# endif
+
# ifdef __STDC__
# ifndef __HIGHC__ /* overly fussy compiler */
# define USE_ANSI_PROTOTYPES
@@ -358,6 +368,12 @@ rgx.c init_rgx(); regcomp and regexec. */
# endif
#endif
+#ifdef __GNUC__
+# define FENCE asm volatile ("")
+#else
+# define FENCE /**/
+#endif
+
#ifdef NON_PREEMPTIVE
# define DEFER_INTS /**/
# ifdef TICKS
@@ -370,15 +386,13 @@ rgx.c init_rgx(); regcomp and regexec. */
# define ALLOW_INTS POLL
#else
# ifdef CAREFUL_INTS
-# define DEFER_INTS {if (ints_disabled) \
- fputs("ints already disabled\n", stderr); \
- ints_disabled = 1;}
-# define ALLOW_INTS {if (!ints_disabled) \
- fputs("ints already enabled\n", stderr); \
- ints_disabled = 0;CHECK_INTS}
+# define DEFER_INTS \
+{FENCE;if (ints_disabled) ints_viol(!0);else ints_disabled = !0;FENCE;}
+# define ALLOW_INTS \
+{FENCE;if (!ints_disabled) ints_viol(0);else ints_disabled = 0;FENCE;CHECK_INTS}
# else
-# define DEFER_INTS {ints_disabled = 1;}
-# define ALLOW_INTS {ints_disabled = 0;CHECK_INTS}
+# define DEFER_INTS {FENCE;ints_disabled = !0;FENCE;}
+# define ALLOW_INTS {FENCE;ints_disabled = 0;FENCE;CHECK_INTS}
# endif
# ifdef TICKS
# define CHECK_INTS {if (sig_deferred) han_sig();if (alrm_deferred) han_alrm();\