diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-09-02 13:31:04 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-09-07 10:53:02 +0200 |
| commit | 47521ad6d85f9bd6caee39696ce40dff82cfa50d (patch) | |
| tree | cf5813033a440c6ac374948894d5dd70e0712cdb /gcc | |
| parent | 0fada11e99da430e9a056e46da9f0e110df6c45c (diff) | |
| download | elna-47521ad6d85f9bd6caee39696ce40dff82cfa50d.tar.gz | |
Implement program entry point
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/gcc/elna-generic.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/gcc/elna-generic.cc b/gcc/gcc/elna-generic.cc index 34ae5ee..b527280 100644 --- a/gcc/gcc/elna-generic.cc +++ b/gcc/gcc/elna-generic.cc @@ -257,7 +257,7 @@ namespace elna::gcc { procedure->accept(this); } - if (unit->has_body()) + if (unit->entry_point.has_value()) { tree declaration_type = build_function_type_list(elna_int_type_node, elna_int_type_node, @@ -283,7 +283,7 @@ namespace elna::gcc DECL_ARGUMENTS(fndecl) = chainon(DECL_ARGUMENTS(fndecl), declaration_tree); parameter_type = TREE_CHAIN(parameter_type); } - visit_statements(unit->entry_point); + visit_statements(unit->entry_point->statements); tree set_result = build2(INIT_EXPR, void_type_node, DECL_RESULT(fndecl), integer_zero_node); tree return_stmt = build1(RETURN_EXPR, void_type_node, set_result); @@ -315,7 +315,7 @@ namespace elna::gcc { variable->accept(this); } - visit_statements(declaration->body.value().entry_point); + visit_statements(declaration->body.value().statements); if (declaration->body.value().return_expression != nullptr) { |
