X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/8d4dc896cb3aac3afaf82130a137c9d1afe37e48..975bb564319aa4f4204c48aba265757ba207a80f:/src/scan-gram.l diff --git a/src/scan-gram.l b/src/scan-gram.l index abc8a892..d0b81a8b 100644 --- a/src/scan-gram.l +++ b/src/scan-gram.l @@ -45,9 +45,6 @@ #define YY_DECL GRAM_LEX_DECL -#define YY_USER_INIT \ - code_start = scanner_cursor = loc->start; \ - /* Location of scanner cursor. */ static boundary scanner_cursor; @@ -166,6 +163,15 @@ eqopt ([[:space:]]*=)? /* Where containing comment or string or character literal started, when applicable. */ boundary token_start PACIFY_CC (= scanner_cursor); + + /* We cannot trust YY_USER_INIT, whose semantics changes over time + (it moved in Flex 2.5.38). */ + static bool first = true; + if (first) + { + scanner_cursor = loc->start; + first = false; + } %}