]> git.saurik.com Git - bison.git/blobdiff - data/c.m4
tests: AT_YYERROR_DEFINE: prepare for list of ints.
[bison.git] / data / c.m4
index 64f68fec24f86f26b53a09d4dd31a9389be83e87..1f266a4713f361a82e5938f7c96a6a4af11e2fed 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -77,9 +77,6 @@ m4_define([b4_identification],
 
 /* Pull parsers.  */
 #define YYPULL ]b4_pull_flag])[
-
-/* Using locations.  */
-#define YYLSP_NEEDED ]b4_locations_flag[
 ]])
 
 
@@ -537,8 +534,8 @@ b4_locations_if([, yylocationp])[]b4_user_args[);
 
 # b4_declare_yylstype
 # ------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body.  Declare YYSTYPE and YYLTYPE.
+# Declarations that might either go into the header (if --defines) or
+# in the parser body.  Declare YYSTYPE/YYLTYPE, and yylval/yylloc.
 m4_define([b4_declare_yylstype],
 [[#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 ]m4_ifdef([b4_stype],
@@ -566,4 +563,19 @@ typedef struct YYLTYPE
 # define YYLTYPE_IS_DECLARED 1
 # define YYLTYPE_IS_TRIVIAL 1
 #endif]])
+
+b4_pure_if([], [[extern YYSTYPE ]b4_prefix[lval;
+]b4_locations_if([[extern YYLTYPE ]b4_prefix[lloc;]])])[]dnl
+])
+
+# b4_declare_yydebug
+# ------------------
+m4_define([b4_declare_yydebug],
+[[/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG ]b4_debug_flag[
+#endif
+#if YYDEBUG
+extern int ]b4_prefix[debug;
+#endif][]dnl
 ])