diff options
author | John Hodge <tpg@mutabah.net> | 2016-12-04 20:57:37 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-12-04 20:57:37 +0800 |
commit | 44cb8f56e6f2828b588408a9efd1f1fa019ab11c (patch) | |
tree | a72777d75c8af4e013133f02e0da449c5256c89f /src/trans/codegen_c.cpp | |
parent | 1cb526a077bfef3aba508927250e3213186cf496 (diff) | |
download | mrust-44cb8f56e6f2828b588408a9efd1f1fa019ab11c.tar.gz |
MIR - Move vtable conversion to its own pass
Diffstat (limited to 'src/trans/codegen_c.cpp')
-rw-r--r-- | src/trans/codegen_c.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp index d7199b98..ee0719ef 100644 --- a/src/trans/codegen_c.cpp +++ b/src/trans/codegen_c.cpp @@ -273,7 +273,7 @@ namespace { arg_types.push_back(::std::make_pair( ::HIR::Pattern{}, params.monomorph(m_crate, ent.second) )); ::HIR::TypeRef ret_type = params.monomorph(m_crate, item.m_return); - ::MIR::TypeResolve mir_res { sp, m_crate, ret_type, arg_types, *code }; + ::MIR::TypeResolve mir_res { sp, m_resolve, FMT_CB(ss, ss << p;), ret_type, arg_types, *code }; m_mir_res = &mir_res; m_of << "// " << p << "\n"; @@ -294,7 +294,6 @@ namespace { m_of << "\t// " << code->temporaries[i]; m_of << "\n"; } - // TODO: Code. for(unsigned int i = 0; i < code->blocks.size(); i ++) { TRACE_FUNCTION_F(p << " bb" << i); @@ -305,6 +304,7 @@ namespace { { assert( stmt.is_Drop() || stmt.is_Assign() ); if( stmt.is_Drop() ) { + // TODO: Emit destructor calls } else { const auto& e = stmt.as_Assign(); @@ -338,7 +338,6 @@ namespace { m_of << " = "; m_of << (c ? "true" : "false"); ), - // TODO: These need to be arrays, not strings! (strings are NUL terminated) (Bytes, emit_lvalue(e.dst); m_of << ".PTR = "; |