summaryrefslogtreecommitdiff
path: root/src/trans/enumerate.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-04-22 13:31:07 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-04-22 13:31:07 +0800
commit83b9e560df97f054dc2ea0660cda3fb55cd274d7 (patch)
tree057be3e50eee6278f00b260a581d08931aa6e929 /src/trans/enumerate.cpp
parent6f5792ac00800b1a28b8c9c81eb80046f37b2f03 (diff)
downloadmrust-83b9e560df97f054dc2ea0660cda3fb55cd274d7.tar.gz
MIR - Add ScopeEnd statement to indicate where a value will no longer be used
Diffstat (limited to 'src/trans/enumerate.cpp')
-rw-r--r--src/trans/enumerate.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/trans/enumerate.cpp b/src/trans/enumerate.cpp
index 481b275b..02116d18 100644
--- a/src/trans/enumerate.cpp
+++ b/src/trans/enumerate.cpp
@@ -875,6 +875,8 @@ void Trans_Enumerate_Types(EnumState& state)
for(const auto& v : se.inputs)
H::visit_lvalue(tv,pp,fcn, v.second);
),
+ (ScopeEnd,
+ ),
(Assign,
H::visit_lvalue(tv,pp,fcn, se.dst);
TU_MATCHA( (se.src), (re),
@@ -1461,6 +1463,8 @@ void Trans_Enumerate_FillFrom_MIR(EnumState& state, const ::MIR::Function& code,
),
(SetDropFlag,
),
+ (ScopeEnd,
+ ),
(Drop,
DEBUG("- DROP " << se.slot);
Trans_Enumerate_FillFrom_MIR_LValue(state, se.slot, pp);