summaryrefslogtreecommitdiff
path: root/src/trans/codegen_c.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-12-04 19:34:41 +0800
committerJohn Hodge <tpg@mutabah.net>2016-12-04 19:34:41 +0800
commitb9c9dce47c09a62f7955dc8b1e51533b705d1cd0 (patch)
treeea36043d9b044fc8713ac947679be5ad03344d84 /src/trans/codegen_c.cpp
parentdbaca4f89bc40fba555c4cbba8b5ad21627b72a7 (diff)
downloadmrust-b9c9dce47c09a62f7955dc8b1e51533b705d1cd0.tar.gz
Trans C - DstMeta and DstPtr can only be called on DST pointers
Diffstat (limited to 'src/trans/codegen_c.cpp')
-rw-r--r--src/trans/codegen_c.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp
index d58c56b5..15f80a65 100644
--- a/src/trans/codegen_c.cpp
+++ b/src/trans/codegen_c.cpp
@@ -490,13 +490,15 @@ namespace {
(DstMeta,
emit_lvalue(e.dst);
m_of << " = ";
- emit_lvalue(ve.val);
+ assert( ve.val.is_Deref() );
+ emit_lvalue(*ve.val.as_Deref().val);
m_of << ".META";
),
(DstPtr,
emit_lvalue(e.dst);
m_of << " = ";
- emit_lvalue(ve.val);
+ assert( ve.val.is_Deref() );
+ emit_lvalue(*ve.val.as_Deref().val);
m_of << ".PTR";
),
(MakeDst,