X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/71cb558dfe0f9c80e697308a5084de3b9926ee9c..049016237e8ad3666609295234ed550e66cc185c:/data/glr.cc diff --git a/data/glr.cc b/data/glr.cc index 6527b0a2..0e53d619 100644 --- a/data/glr.cc +++ b/data/glr.cc @@ -87,12 +87,17 @@ m4_define([b4_yy_symbol_print_generate], ]b4_parse_param_use[]dnl [ yyparser.yy_symbol_print_ (yytype, yyvaluep]b4_locations_if([, yylocationp])[); } -]]) +]])[ +# Hijack the initial action to initialize the locations. +]b4_locations_if([b4_percent_define_ifdef([[api.location.type]], [], +[m4_define([b4_initial_action], +[yylloc.initialize ();]m4_ifdef([b4_initial_action], [ +m4_defn([b4_initial_action])]))])])[ # Hijack the post prologue to insert early definition of YYLLOC_DEFAULT # and declaration of yyerror. -m4_append([b4_post_prologue], +]m4_append([b4_post_prologue], [b4_syncline([@oline@], [@ofile@])[ ]b4_yylloc_default_define[ #define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)