diff options
Diffstat (limited to 'scmfig.h')
-rw-r--r-- | scmfig.h | 44 |
1 files changed, 29 insertions, 15 deletions
@@ -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();\ |