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 <kenneth@whitecape.org>
Signed-off-by: Carl Worth <cworth@cworth.org>
This commit is contained in:
Carl Worth
2011-09-29 16:51:08 -07:00
parent 8e6b99e7b1
commit 3c01a58944

View File

@@ -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;