summaryrefslogtreecommitdiff
path: root/src/cmd/gc/print.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/gc/print.c')
-rw-r--r--src/cmd/gc/print.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/cmd/gc/print.c b/src/cmd/gc/print.c
index e88e0f844..5913e848a 100644
--- a/src/cmd/gc/print.c
+++ b/src/cmd/gc/print.c
@@ -78,6 +78,7 @@ exprfmt(Fmt *f, Node *n, int prec)
case OTPAREN:
case OINDEX:
case OINDEXMAP:
+ case OPAREN:
nprec = 7;
break;
@@ -134,6 +135,10 @@ exprfmt(Fmt *f, Node *n, int prec)
fmtprint(f, "(node %O)", n->op);
break;
+ case OPAREN:
+ fmtprint(f, "(%#N)", n->left);
+ break;
+
case OREGISTER:
fmtprint(f, "%R", n->val.u.reg);
break;
@@ -404,6 +409,7 @@ exprfmt(Fmt *f, Node *n, int prec)
case OCONVIFACE:
case OCONVNOP:
case OARRAYBYTESTR:
+ case OSTRARRAYBYTE:
case ORUNESTR:
if(n->type == T || n->type->sym == S)
fmtprint(f, "(%T)(", n->type);
@@ -445,8 +451,28 @@ exprfmt(Fmt *f, Node *n, int prec)
break;
case OMAKEMAP:
+ case OMAKECHAN:
fmtprint(f, "make(%#T)", n->type);
break;
+
+ // Some statements
+
+ case ODCL:
+ fmtprint(f, "var %S %#T", n->left->sym, n->left->type);
+ break;
+
+ case ORETURN:
+ fmtprint(f, "return ");
+ exprlistfmt(f, n->list);
+ break;
+
+ case OPROC:
+ fmtprint(f, "go %#N", n->left);
+ break;
+
+ case ODEFER:
+ fmtprint(f, "defer %#N", n->left);
+ break;
}
if(prec > nprec)