From: Carl Worth Date: Wed, 19 May 2010 14:57:03 +0000 (-0700) Subject: Like previous fix, but for object-like macros (and add a test). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5d2114254592e03b6d554c5e2eea4ea442c3fa05;p=mesa.git Like previous fix, but for object-like macros (and add a test). The support for an object-like amcro within a macro-invocation argument was also implemented at one level too high in the grammar. Fortunately, this is a very simple fix. --- diff --git a/glcpp-parse.y b/glcpp-parse.y index 400f138d17e..647532f209d 100644 --- a/glcpp-parse.y +++ b/glcpp-parse.y @@ -169,9 +169,6 @@ argument: $$ = _string_list_create (parser); _string_list_append_item ($$, $1); } -| macro { - $$ = _string_list_create (parser); - } | argument argument_word { _string_list_append_item ($1, $2); talloc_free ($2); @@ -189,6 +186,7 @@ argument_word: IDENTIFIER { $$ = $1; } | TOKEN { $$ = $1; } | FUNC_MACRO { $$ = $1; } +| macro { $$ = xtalloc_strdup (parser, ""); } ; diff --git a/tests/036-define-func-non-macro-multi-token-argument.c b/tests/036-define-func-non-macro-multi-token-argument.c new file mode 100644 index 00000000000..b21ff336738 --- /dev/null +++ b/tests/036-define-func-non-macro-multi-token-argument.c @@ -0,0 +1,3 @@ +#define bar success +#define foo(x) x +foo(more bar)