diff options
author | John Hodge <tpg@mutabah.net> | 2016-12-07 18:03:36 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-12-07 18:03:36 +0800 |
commit | 058a5dab9d2a61514265bd6718ec83f8d3721de6 (patch) | |
tree | 89bf24e52682627facffd5eefb99377ea6a3786b /src/trans/enumerate.cpp | |
parent | 7fc04390dee98081027e7ffc7510b100b929fdd0 (diff) | |
download | mrust-058a5dab9d2a61514265bd6718ec83f8d3721de6.tar.gz |
MIR - Merge two call types into one with a different target
Diffstat (limited to 'src/trans/enumerate.cpp')
-rw-r--r-- | src/trans/enumerate.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/trans/enumerate.cpp b/src/trans/enumerate.cpp index a18b91b1..505a4d19 100644 --- a/src/trans/enumerate.cpp +++ b/src/trans/enumerate.cpp @@ -461,15 +461,18 @@ void Trans_Enumerate_FillFrom_MIR(TransList& out, const ::HIR::Crate& crate, con (Switch, Trans_Enumerate_FillFrom_MIR_LValue(out,crate, e.val, pp); ), - (CallValue, + (Call, Trans_Enumerate_FillFrom_MIR_LValue(out,crate, e.ret_val, pp); - Trans_Enumerate_FillFrom_MIR_LValue(out,crate, e.fcn_val, pp); - for(const auto& arg : e.args) - Trans_Enumerate_FillFrom_MIR_LValue(out,crate, arg, pp); - ), - (CallPath, - Trans_Enumerate_FillFrom_MIR_LValue(out,crate, e.ret_val, pp); - Trans_Enumerate_FillFrom_Path(out,crate, e.fcn_path, pp); + TU_MATCHA( (e.fcn), (e2), + (Value, + Trans_Enumerate_FillFrom_MIR_LValue(out,crate, e2, pp); + ), + (Path, + Trans_Enumerate_FillFrom_Path(out,crate, e2, pp); + ), + (Intrinsic, + ) + ) for(const auto& arg : e.args) Trans_Enumerate_FillFrom_MIR_LValue(out,crate, arg, pp); ) |