Mercurial > hg > CbC > CbC_gcc
comparison gcc/go/gofrontend/go.cc @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
39 if (args->compiling_runtime) | 39 if (args->compiling_runtime) |
40 ::gogo->set_compiling_runtime(args->compiling_runtime); | 40 ::gogo->set_compiling_runtime(args->compiling_runtime); |
41 if (args->c_header != NULL) | 41 if (args->c_header != NULL) |
42 ::gogo->set_c_header(args->c_header); | 42 ::gogo->set_c_header(args->c_header); |
43 ::gogo->set_debug_escape_level(args->debug_escape_level); | 43 ::gogo->set_debug_escape_level(args->debug_escape_level); |
44 if (args->debug_escape_hash != NULL) | |
45 ::gogo->set_debug_escape_hash(args->debug_escape_hash); | |
46 ::gogo->set_nil_check_size_threshold(args->nil_check_size_threshold); | |
44 } | 47 } |
45 | 48 |
46 // Parse the input files. | 49 // Parse the input files. |
47 | 50 |
48 GO_EXTERN_C | 51 GO_EXTERN_C |
138 ::gogo->analyze_escape(); | 141 ::gogo->analyze_escape(); |
139 | 142 |
140 // Export global identifiers as appropriate. | 143 // Export global identifiers as appropriate. |
141 ::gogo->do_exports(); | 144 ::gogo->do_exports(); |
142 | 145 |
146 // Use temporary variables to force order of evaluation. | |
147 ::gogo->order_evaluations(); | |
148 | |
143 // Turn short-cut operators (&&, ||) into explicit if statements. | 149 // Turn short-cut operators (&&, ||) into explicit if statements. |
144 ::gogo->remove_shortcuts(); | 150 ::gogo->remove_shortcuts(); |
145 | |
146 // Use temporary variables to force order of evaluation. | |
147 ::gogo->order_evaluations(); | |
148 | 151 |
149 // Convert named types to backend representation. | 152 // Convert named types to backend representation. |
150 ::gogo->convert_named_types(); | 153 ::gogo->convert_named_types(); |
151 | 154 |
152 // Build thunks for functions which call recover. | 155 // Build thunks for functions which call recover. |
161 // Add write barriers. | 164 // Add write barriers. |
162 ::gogo->add_write_barriers(); | 165 ::gogo->add_write_barriers(); |
163 | 166 |
164 // Flatten the parse tree. | 167 // Flatten the parse tree. |
165 ::gogo->flatten(); | 168 ::gogo->flatten(); |
169 | |
170 // Reclaim memory of escape analysis Nodes. | |
171 ::gogo->reclaim_escape_nodes(); | |
166 | 172 |
167 // Dump ast, use filename[0] as the base name | 173 // Dump ast, use filename[0] as the base name |
168 ::gogo->dump_ast(filenames[0]); | 174 ::gogo->dump_ast(filenames[0]); |
169 } | 175 } |
170 | 176 |