We were correctly parsing this already, but simply not returning any
value (for no good reason). Fortunately the fix is quite simple.
This makes the test added in the previous commit now pass.
@(cd tests; ./glcpp-test)
clean:
- rm -f glcpp-lex.c glcpp-parse.c *.o *~
+ rm -f glcpp glcpp-lex.c glcpp-parse.c *.o *~
rm -f tests/*.out tests/*.gcc tests/*.expected tests/*~
| argument word {
_string_list_append_item ($1, $2);
talloc_free ($2);
+ $$ = $1;
}
| argument SPACE word {
_string_list_append_item ($1, " ");
_string_list_append_item ($1, $3);
talloc_free ($3);
+ $$ = $1;
+ }
+| argument '(' argument ')' {
+ _string_list_append_item ($1, "(");
+ _string_list_append_list ($1, $3);
+ _string_list_append_item ($1, ")");
+ $$ = $1;
}
-| argument '(' argument ')'
;
directive_with_newline: