diff options
-rw-r--r-- | ir_print_visitor.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/ir_print_visitor.cpp b/ir_print_visitor.cpp index 0e89f10c3f..6d0f797807 100644 --- a/ir_print_visitor.cpp +++ b/ir_print_visitor.cpp @@ -88,9 +88,20 @@ void ir_print_visitor::visit(ir_expression *ir) { printf("(expression "); - printf("(FINISHME: operator) "); + const char *str; + char buf[256]; + + switch (ir->operation) { + case ir_unop_f2i: str = "f2i"; break; + case ir_unop_i2f: str = "i2f"; break; + case ir_unop_u2f: str = "u2f"; break; + default: + snprintf(buf, sizeof(buf), "operator %u", ir->operation); + str = buf; + break; + } - printf("("); + printf("(%s) (", str); if (ir->operands[0]) ir->operands[0]->accept(this); printf(") "); |