summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Krol <[email protected]>2009-09-08 13:32:20 +0200
committerMichal Krol <[email protected]>2009-09-08 13:32:20 +0200
commitfab99092a0879531442d1dd20f971ae7eda824eb (patch)
tree712e9b51f3413a706341362bc79c1a45b2065cdd
parent2ec2936454a4a69b5b3b438ab66f00a5b7d2a5e5 (diff)
slang: Correctly handle end of tokens marker.
-rw-r--r--src/mesa/shader/grammar/grammar.c2
-rw-r--r--src/mesa/shader/slang/library/slang_shader.syn2
-rw-r--r--src/mesa/shader/slang/library/slang_shader_syn.h2
3 files changed, 4 insertions, 2 deletions
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"