From b9c9dce47c09a62f7955dc8b1e51533b705d1cd0 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 4 Dec 2016 19:34:41 +0800 Subject: Trans C - DstMeta and DstPtr can only be called on DST pointers --- src/trans/codegen_c.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/trans/codegen_c.cpp') 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, -- cgit v1.2.3