]> git.saurik.com Git - bison.git/commitdiff
(code_start): Initialize it to scanner_cursor,
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 2 Mar 2003 06:55:15 +0000 (06:55 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 2 Mar 2003 06:55:15 +0000 (06:55 +0000)
not loc->end, since loc->end might contain garbage and this leads
to undefined behavior on some platforms.
(id_loc, token_start): Use (IF_LINTed) initial values that do not
depend on *loc, so that the reader doesn't give the the false
impression that *loc is initialized.
(<INITIAL>"%%"): Do not bother setting code_start, since its value
does not survive the return.

src/scan-gram.l

index 424ae2e9667c6ce844f98c32dd1064474eea32fc..a31cd02e83e26d5c78a7ac8a42a3c5db6aded7f6 100644 (file)
@@ -136,15 +136,16 @@ splice     (\\[ \f\t\v]*\n)*
   int token_type IF_LINT (= 0);
 
   /* Location of most recent identifier, when applicable.  */
-  location id_loc IF_LINT (= *loc);
+  location id_loc IF_LINT (= empty_location);
 
-  /* Where containing code started, when applicable.
-     Once the second %% seen, we are looking for the epilogue.  */
-  boundary code_start = loc->end;
+  /* Where containing code started, when applicable.  Its initial
+     value is relevant only when yylex is invoked in the SC_EPILOGUE
+     start condition.  */
+  boundary code_start = scanner_cursor;
 
   /* Where containing comment or string or character literal started,
      when applicable.  */
-  boundary token_start IF_LINT (= loc->start);
+  boundary token_start IF_LINT (= scanner_cursor);
 %}
 
 
@@ -271,10 +272,7 @@ splice      (\\[ \f\t\v]*\n)*
   "%%" {
     static int percent_percent_count;
     if (++percent_percent_count == 2)
-      {
-       code_start = loc->start;
-       BEGIN SC_EPILOGUE;
-      }
+      BEGIN SC_EPILOGUE;
     return PERCENT_PERCENT;
   }