[pure-lang-svn] SF.net SVN: pure-lang: [70] pure/trunk/parser.yy
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-05-10 19:34:09
|
Revision: 70 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=70&view=rev Author: agraef Date: 2008-05-10 12:34:15 -0700 (Sat, 10 May 2008) Log Message: ----------- Plug a bigint-related memory leak in the parser. Modified Paths: -------------- pure/trunk/parser.yy Modified: pure/trunk/parser.yy =================================================================== --- pure/trunk/parser.yy 2008-05-10 18:25:45 UTC (rev 69) +++ pure/trunk/parser.yy 2008-05-10 19:34:15 UTC (rev 70) @@ -235,7 +235,8 @@ comp_clauses comp_clause_list args qual rules rulel rule pat_rules pat_rulel simple_rules simple_rulel simple_rule ids names name optalias opt_ctypes ctypes ctype -%destructor { free($$); } BIGINT STR +%destructor { mpz_clear(*$$); free($$); } BIGINT +%destructor { free($$); } STR %printer { debug_stream() << *$$; } ID name optalias ctype expr cond simple app prim op args qual rule pat_rules pat_rulel simple_rules simple_rulel simple_rule @@ -490,7 +491,7 @@ $$ = interp.mksym_expr($1); } } | INT { $$ = new expr(EXPR::INT, $1); } -| BIGINT { $$ = new expr(EXPR::BIGINT, *$1); delete $1; } +| BIGINT { $$ = new expr(EXPR::BIGINT, *$1); free($1); } | DBL { $$ = new expr(EXPR::DBL, $1); } | STR { $$ = new expr(EXPR::STR, $1); } | '[' expr ']' { $$ = interp.mklist_expr($2); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |