This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
+/* This is the parser code that is written into each bison parser
+ when the %semantic_parser declaration is not specified in the grammar.
+ It was written by Richard Stallman by simplifying the hairy parser
+ used when %semantic_parser is specified. */
+
#ifndef alloca
#ifdef __GNUC__
#define alloca __builtin_alloca
#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
#include <alloca.h>
#else /* not sparc */
/* This used to test MSDOS, but that is a bad idea
since that is in the user namespace. */
-#if defined (_MSDOS_) && !defined (__TURBOC__)
+#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
#include <malloc.h>
-#else /* not _MSDOS_, or __TURBOC__ */
+#else /* not MSDOS, or __TURBOC__ */
#if defined(_AIX)
#include <malloc.h>
#pragma alloca
-#else /* not MSDOS, __TURBOC__, or _AIX */
+#else /* not MSDOS, or __TURBOC__, or _AIX */
#ifdef __hpux
#ifdef __cplusplus
extern "C" {
#endif /* not __cplusplus */
#endif /* __hpux */
#endif /* not _AIX */
-#endif /* not _MSDOS_, or __TURBOC__ */
+#endif /* not MSDOS, or __TURBOC__ */
#endif /* not sparc. */
#endif /* not GNU C. */
#endif /* alloca not defined. */
-/* This is the parser code that is written into each bison parser
- when the %semantic_parser declaration is not specified in the grammar.
- It was written by Richard Stallman by simplifying the hairy parser
- used when %semantic_parser is specified. */
-
/* Note: there must be only one dollar sign in this file.
It is replaced by the list of actions, each action
as one case of the switch. */