authorgravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2018-03-06 11:13:10+01:00
committergravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2018-03-06 11:13:10+01:00
loged1386eeff0a3d0fbec74bbf775544104874cead
tree55948767d7a0f8e2cb5e696bd5f12b36d21c053c
parentc787837ce5023fdef579bf92097216ce9dfacf34

Simple translation of UO_LNot


1 files changed, 10 insertions(+), 4 deletions(-)

src/translate_c.cpp+10-4
......@@ -1907,17 +1907,23 @@ static AstNode *trans_unary_operator(Context *c, ResultUsed result_used, TransSc
19071907 return nullptr;
19081908 }
19091909 }
1910 case UO_LNot:
19101911 case UO_Not:
19111912 {
19121913 Expr *op_expr = stmt->getSubExpr();
19131914 AstNode *sub_node = trans_expr(c, ResultUsedYes, scope, op_expr, TransRValue);
19141915 if (sub_node == nullptr)
19151916 return nullptr;
1916 return trans_create_node_prefix_op(c, PrefixOpBinNot, sub_node);
1917
1918 switch (stmt->getOpcode()) {
1919 case UO_LNot:
1920 return trans_create_node_prefix_op(c, PrefixOpBoolNot, sub_node);
1921 case UO_Not:
1922 return trans_create_node_prefix_op(c, PrefixOpBinNot, sub_node);
1923 default:
1924 zig_unreachable();
1925 }
19171926 }
1918 case UO_LNot:
1919 emit_warning(c, stmt->getLocStart(), "TODO handle C translation UO_LNot");
1920 return nullptr;
19211927 case UO_Real:
19221928 emit_warning(c, stmt->getLocStart(), "TODO handle C translation UO_Real");
19231929 return nullptr;