diff options
Diffstat (limited to 'src/compiler/glsl/glcpp/glcpp-parse.y')
-rw-r--r-- | src/compiler/glsl/glcpp/glcpp-parse.y | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/compiler/glsl/glcpp/glcpp-parse.y b/src/compiler/glsl/glcpp/glcpp-parse.y index 4be5cfa3d54..1c095cb66f9 100644 --- a/src/compiler/glsl/glcpp/glcpp-parse.y +++ b/src/compiler/glsl/glcpp/glcpp-parse.y @@ -1077,6 +1077,20 @@ _token_list_equal_ignoring_space(token_list_t *a, token_list_t *b) if (node_a == NULL && node_b == NULL) break; + /* Ignore trailing whitespace */ + if (node_a == NULL && node_b->token->type == SPACE) { + while (node_b && node_b->token->type == SPACE) + node_b = node_b->next; + } + + if (node_b == NULL && node_a->token->type == SPACE) { + while (node_a && node_a->token->type == SPACE) + node_a = node_a->next; + } + + if (node_a == NULL && node_b == NULL) + break; + if (node_a == NULL || node_b == NULL) return 0; /* Make sure whitespace appears in the same places in both. |