summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ir_print_visitor.cpp15
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(") ");