From e7f840ec5ae243a6d050a692fd6633769fc147a5 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 13 May 2017 13:43:00 +0800 Subject: Trans Codegen - Fill item path when monomorphising --- src/trans/codegen.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/trans/codegen.cpp') diff --git a/src/trans/codegen.cpp b/src/trans/codegen.cpp index 9d536181..7989981b 100644 --- a/src/trans/codegen.cpp +++ b/src/trans/codegen.cpp @@ -158,10 +158,12 @@ void Trans_Codegen(const ::std::string& outfile, const TransOptions& opt, const for(const auto& a : fcn.m_args) args.push_back(::std::make_pair( ::HIR::Pattern{}, pp.monomorph(resolve, a.second) )); auto mir = Trans_Monomorphise(resolve, pp, fcn.m_code.m_mir); - MIR_Validate(resolve, ::HIR::ItemPath(""), *mir, args, ret_type); - MIR_Cleanup(resolve, ::HIR::ItemPath(""), *mir, args, ret_type); - MIR_Optimise(resolve, ::HIR::ItemPath(""), *mir, args, ret_type); - MIR_Validate(resolve, ::HIR::ItemPath(""), *mir, args, ret_type); + ::std::string s = FMT(path); + ::HIR::ItemPath ip(s); + MIR_Validate(resolve, ip, *mir, args, ret_type); + MIR_Cleanup(resolve, ip, *mir, args, ret_type); + MIR_Optimise(resolve, ip, *mir, args, ret_type); + MIR_Validate(resolve, ip, *mir, args, ret_type); codegen->emit_function_code(path, fcn, ent.second->pp, mir); } // TODO: Detect if the function was a #[inline] function from another crate, and don't emit if that is the case? -- cgit v1.2.3