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>
(cherry picked from commit 3c01a58944)
This commit is contained in:
Carl Worth 2011-09-29 16:51:08 -07:00 committed by Ian Romanick
parent 5becf89a17
commit ab94d6f902

View file

@ -1416,8 +1416,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;