summaryrefslogtreecommitdiffstatshomepage
path: root/py/emit.h
diff options
context:
space:
mode:
authorDamien <damien.p.george@gmail.com>2013-10-05 18:08:26 +0100
committerDamien <damien.p.george@gmail.com>2013-10-05 18:08:26 +0100
commit6cdd3af6014b28e0b3824641e6958c144b8e2cd2 (patch)
tree04e3aa77c80acefb8ddcf936ec0173ce59e9a9dd /py/emit.h
parent4b03e77d4a0ec46467fe501636e6eeeb79e03ab9 (diff)
downloadmicropython-6cdd3af6014b28e0b3824641e6958c144b8e2cd2.tar.gz
micropython-6cdd3af6014b28e0b3824641e6958c144b8e2cd2.zip
Implement built-in decorators to select emit type.
Diffstat (limited to 'py/emit.h')
-rw-r--r--py/emit.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/py/emit.h b/py/emit.h
index c27b231db5..288141303b 100644
--- a/py/emit.h
+++ b/py/emit.h
@@ -116,8 +116,15 @@ void emit_common_load_id(emit_t *emit, const emit_method_table_t *emit_method_ta
void emit_common_store_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qstr);
void emit_common_delete_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qstr);
-void emit_pass1_new(emit_t **emit, const emit_method_table_t **emit_method_table, qstr qstr___class__);
-void emit_cpython_new(emit_t **emit_out, const emit_method_table_t **emit_method_table_out, uint max_num_labels);
-void emit_bc_new(emit_t **emit, const emit_method_table_t **emit_method_table, uint max_num_labels);
-void emit_x64_new(emit_t **emit, const emit_method_table_t **emit_method_table, uint max_num_labels);
-void emit_thumb_new(emit_t **emit, const emit_method_table_t **emit_method_table, uint max_num_labels);
+extern const emit_method_table_t emit_pass1_method_table;
+extern const emit_method_table_t emit_cpython_method_table;
+extern const emit_method_table_t emit_bc_method_table;
+extern const emit_method_table_t emit_x64_method_table;
+extern const emit_method_table_t emit_thumb_method_table;
+
+emit_t *emit_pass1_new(qstr qstr___class__);
+void emit_pass1_free(emit_t *emit);
+emit_t *emit_cpython_new(uint max_num_labels);
+emit_t *emit_bc_new(uint max_num_labels);
+emit_t *emit_x64_new(uint max_num_labels);
+emit_t *emit_thumb_new(uint max_num_labels);