Mercurial > octave-libgccjit
comparison src/parse.y @ 6657:86354a8cd6a7
[project @ 2007-05-23 04:35:04 by jwe]
author | jwe |
---|---|
date | Wed, 23 May 2007 04:35:04 +0000 |
parents | 6a7fc4105bcc |
children | c05fbb1b7e1f |
comparison
equal
deleted
inserted
replaced
6656:c92e679d9cc5 | 6657:86354a8cd6a7 |
---|---|
1780 curr_sym_tab = symtab_context.top (); | 1780 curr_sym_tab = symtab_context.top (); |
1781 | 1781 |
1782 symtab_context.pop (); | 1782 symtab_context.pop (); |
1783 | 1783 |
1784 if (stmt && stmt->is_expression ()) | 1784 if (stmt && stmt->is_expression ()) |
1785 { | 1785 stmt->set_print_flag (false); |
1786 symbol_record *sr = fcn_sym_tab->lookup ("__retval__", true); | |
1787 | |
1788 tree_expression *e = stmt->expression (); | |
1789 | |
1790 tree_identifier *id = new tree_identifier (sr); | |
1791 | |
1792 tree_simple_assignment *asn = new tree_simple_assignment (id, e); | |
1793 | |
1794 stmt->set_expression (asn); | |
1795 | |
1796 stmt->set_print_flag (false); | |
1797 | |
1798 // FIXME -- would like to delete old_stmt here or | |
1799 // replace expression inside it with the new expression we just | |
1800 // created so we don't have to create a new statement at all. | |
1801 | |
1802 id = new tree_identifier (sr); | |
1803 tree_decl_elt *elt = new tree_decl_elt (id); | |
1804 | |
1805 ret_list = new tree_parameter_list (elt); | |
1806 } | |
1807 | 1786 |
1808 tree_statement_list *body = new tree_statement_list (stmt); | 1787 tree_statement_list *body = new tree_statement_list (stmt); |
1809 | 1788 |
1810 body->mark_as_function_body (); | 1789 body->mark_as_function_body (); |
1811 | 1790 |