From: Michal Krol Date: Tue, 8 Sep 2009 11:32:20 +0000 (+0200) Subject: slang: Correctly handle end of tokens marker. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fab99092a0879531442d1dd20f971ae7eda824eb;p=mesa.git slang: Correctly handle end of tokens marker. --- diff --git a/src/mesa/shader/grammar/grammar.c b/src/mesa/shader/grammar/grammar.c index 36ed9d5603b..54e94bbf6a9 100644 --- a/src/mesa/shader/grammar/grammar.c +++ b/src/mesa/shader/grammar/grammar.c @@ -2069,6 +2069,8 @@ static int get_spec (const byte **text, spec **sp, map_str *maps, map_byte *mapb s->m_token = SL_PP_IDENTIFIER; } else if (!strcmp(s->m_string, "@NUM")) { s->m_token = SL_PP_NUMBER; + } else if (!strcmp(s->m_string, "@EOF")) { + s->m_token = SL_PP_EOF; } else { spec_destroy(&s); return 1; diff --git a/src/mesa/shader/slang/library/slang_shader.syn b/src/mesa/shader/slang/library/slang_shader.syn index 4558ed58b07..f6bf7f1e546 100644 --- a/src/mesa/shader/slang/library/slang_shader.syn +++ b/src/mesa/shader/slang/library/slang_shader.syn @@ -1291,7 +1291,7 @@ var_with_field */ translation_unit .true .emit REVISION .and external_declaration .error INVALID_EXTERNAL_DECLARATION .and - .loop external_declaration .and '\0' .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL; + .loop external_declaration .and "@EOF" .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL; /* diff --git a/src/mesa/shader/slang/library/slang_shader_syn.h b/src/mesa/shader/slang/library/slang_shader_syn.h index e94238e0125..9a56643d2f1 100644 --- a/src/mesa/shader/slang/library/slang_shader_syn.h +++ b/src/mesa/shader/slang/library/slang_shader_syn.h @@ -601,7 +601,7 @@ " variable_identifier .and dot .and field_selection .emit OP_FIELD;\n" "translation_unit\n" " .true .emit REVISION .and external_declaration .error INVALID_EXTERNAL_DECLARATION .and\n" -" .loop external_declaration .and '\\0' .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL;\n" +" .loop external_declaration .and \"@EOF\" .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL;\n" "external_declaration\n" " precision_stmt .emit DEFAULT_PRECISION .or\n" " function_definition .emit EXTERNAL_FUNCTION_DEFINITION .or\n"