From: Carl Worth Date: Thu, 29 Sep 2011 23:51:08 +0000 (-0700) Subject: glcpp: Fix two (or more) successive applications of token pasting X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3c01a589448b92945f26bd7e3bfa75155c06f3cf;p=mesa.git glcpp: Fix two (or more) successive applications of token pasting There was already a loop here to look for multiple token pastes, but it was mistakenly incrementing the iterator counter after performing one paste. Instead, leave the loop iterator in place to coalesce as many tokens as necessary into one. This fixes the recently add 096-paste-twice test as well as the following piglit test: spec/glsl-1.30/preprocessor/concat/concat-03.frag Reviewed-by: Kenneth Graunke Signed-off-by: Carl Worth --- diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y index 940830416c0..d547ecf6ff3 100644 --- a/src/glsl/glcpp/glcpp-parse.y +++ b/src/glsl/glcpp/glcpp-parse.y @@ -1418,8 +1418,6 @@ _glcpp_parser_expand_function (glcpp_parser_t *parser, node->next = next_non_space->next; if (next_non_space == substituted->tail) substituted->tail = node; - - node = node->next; } substituted->non_space_tail = substituted->tail;