summaryrefslogtreecommitdiff
path: root/src/trans/monomorphise.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/trans/monomorphise.cpp')
-rw-r--r--src/trans/monomorphise.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/trans/monomorphise.cpp b/src/trans/monomorphise.cpp
index e6ae2885..9d2f1b1c 100644
--- a/src/trans/monomorphise.cpp
+++ b/src/trans/monomorphise.cpp
@@ -247,13 +247,22 @@ namespace {
e.targets
});
),
- (Call,
- terminator = ::MIR::Terminator::make_Call({
+ (CallValue,
+ terminator = ::MIR::Terminator::make_CallValue({
e.ret_block, e.panic_block,
monomorph_LValue(crate, params, e.ret_val),
monomorph_LValue(crate, params, e.fcn_val),
monomorph_LValue_list(crate, params, e.args)
});
+ ),
+ (CallPath,
+ // TODO: Replace vtable calls
+ terminator = ::MIR::Terminator::make_CallPath({
+ e.ret_block, e.panic_block,
+ monomorph_LValue(crate, params, e.ret_val),
+ params.monomorph(crate, e.fcn_path),
+ monomorph_LValue_list(crate, params, e.args)
+ });
)
)