summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-04-16 17:23:25 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-04-16 17:23:25 +0800
commit84a6016c712f0a0d3d7077becffbbd445c07ce9f (patch)
tree9f96e29b86cd21a31758b6284787a498b7857335
parent95c5fc3244bce0a588f332122d97062fd583803d (diff)
downloadmrust-84a6016c712f0a0d3d7077becffbbd445c07ce9f.tar.gz
MIR - Print SetDropFlag statements
-rw-r--r--src/mir/mir.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mir/mir.cpp b/src/mir/mir.cpp
index 303f7764..3c16af37 100644
--- a/src/mir/mir.cpp
+++ b/src/mir/mir.cpp
@@ -466,11 +466,22 @@ namespace MIR {
os << "), clobbers=[" << e.clobbers << "], flags=[" << e.flags << "])";
),
(SetDropFlag,
+ os << "df$" << e.idx << " = ";
+ if( e.other == ~0u )
+ {
+ os << e.new_val;
+ }
+ else
+ {
+ os << (e.new_val ? "!" : "") << "df$" << e.other;
+ }
),
(Drop,
os << "drop(" << e.slot;
if(e.kind == ::MIR::eDropKind::SHALLOW)
os << " SHALLOW";
+ if(e.flag_idx != ~0u)
+ os << "IF df$" << e.flag_idx;
os << ")";
)
)