X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/19d9b60787a5b9340b8adf4b3e918c356bb2bd90..96029914a688997caef26edb87aa4c2131299fed:/data/c.m4 diff --git a/data/c.m4 b/data/c.m4 index 994d2964..8bd96b85 100644 --- a/data/c.m4 +++ b/data/c.m4 @@ -602,7 +602,7 @@ m4_define([b4_YYDEBUG_define], # endif # else /* ! defined YYDEBUG */ # define ]b4_api_PREFIX[DEBUG ]b4_debug_flag[ -# endif /* ! defined ]b4_api_PREFIX[DEBUG */ +# endif /* ! defined YYDEBUG */ #endif /* ! defined ]b4_api_PREFIX[DEBUG */]])[]dnl ]) @@ -643,3 +643,46 @@ m4_define([b4_yylloc_default_define], while (YYID (0)) #endif ]]) + +# b4_yy_location_print_define +# --------------------------- +# Define YY_LOCATION_PRINT. +m4_define([b4_yy_location_print_define], +[b4_locations_if([[ +/* YY_LOCATION_PRINT -- Print the location on the stream. + This macro was not mandated originally: define only if we know + we won't break user code: when these are the locations we know. */ + +#ifndef YY_LOCATION_PRINT +# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL +# define YY_LOCATION_PRINT(File, Loc) \ + do { \ + fprintf (File, "%d.%d", (Loc).first_line, (Loc).first_column); \ + if ((Loc).first_line < (Loc).last_line) \ + fprintf (File, "-%d.%d", (Loc).last_line, (Loc).last_column - 1); \ + else if ((Loc).first_column < (Loc).last_column - 1) \ + fprintf (File, "-%d", (Loc).last_column - 1); \ + } while (0) +# else +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# endif +#endif]], +[[/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif]]) +]) + +# b4_yyloc_default +# ---------------- +# Expand to a possible default value for yylloc. +m4_define([b4_yyloc_default], +[[ +# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL + = { ]m4_join([, ], + m4_defn([b4_location_initial_line]), + m4_defn([b4_location_initial_column]), + m4_defn([b4_location_initial_line]), + m4_defn([b4_location_initial_column]))[ } +# endif +]])