Using a single rule here means that we can use the <*> syntax to match all start conditions. This makes the catch-all rule more robust against the addition of future start conditions, (no need to maintain an ever- growing list of start conditions for this rul). --- src/glsl/glcpp/glcpp-lex.l | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l index e82b85d..333d4ae 100644 --- a/src/glsl/glcpp/glcpp-lex.l +++ b/src/glsl/glcpp/glcpp-lex.l @@ -542,17 +542,17 @@ HEXADECIMAL_INTEGER 0[xX][0-9a-fA-F]+[uU]? * rule, then we have made a mistake above and need to fix one or more * of the preceding patterns to match that input. */ -<INITIAL,COMMENT,DEFINE,DONE,HASH,NEWLINE_CATCHUP>. { +<*>. { glcpp_error(yylloc, yyextra, "Internal compiler error: Unexpected character: %s", yytext); -} /* We don't actually use the UNREACHABLE start condition. We - only have this action here so that we can pretend to call some + only have this block here so that we can pretend to call some generated functions, (to avoid "defined but not used" warnings. */ -<UNREACHABLE>. { - unput('.'); - yy_top_state(yyextra); + if (YY_START == UNREACHABLE) { + unput('.'); + yy_top_state(yyextra); + } } %% -- 2.0.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev