diff options
author | Carl Worth <cworth@cworth.org> | 2010-05-10 11:52:29 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-05-10 11:52:29 -0700 |
commit | 38aa83560be3368b4e9784b3ef8f73144171ca45 (patch) | |
tree | dabb8d480013e9862396474656c008fb8b96306b /glcpp-parse.y | |
parent | 3a37b8701cd3e0a86fef59910b20b2af7e4573f6 (diff) |
Make the lexer reentrant (to avoid "still reachable" memory).
This allows the final program to be 100% "valgrind clean", (freeing
all memory that it allocates). This will make it much easier to ensure
that any allocation that parser actions perform are also cleaned up.
Diffstat (limited to 'glcpp-parse.y')
-rw-r--r-- | glcpp-parse.y | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/glcpp-parse.y b/glcpp-parse.y index 739b2935b3..9acd549b24 100644 --- a/glcpp-parse.y +++ b/glcpp-parse.y @@ -28,10 +28,13 @@ #define YYSTYPE int void -yyerror (const char *error); +yyerror (const char *error, void *scanner); %} +%parse-param {void *scanner} +%lex-param {void *scanner} + %token TOKEN %% @@ -51,7 +54,7 @@ token: TOKEN %% void -yyerror (const char *error) +yyerror (const char *error, void *scanner) { fprintf (stderr, "Parse error: %s\n", error); } |