From: Russ Cox Date: Thu, 16 Apr 2009 05:38:09 +0000 (-0700) Subject: panicln: emit just one newline X-Git-Tag: weekly.2009-11-06~1817 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1cb3b7d124cf86aefc3353b8c3ef962505ee5181;p=gostls13.git panicln: emit just one newline R=ken OCL=27537 CL=27545 --- diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c index a9606cfae4..1fa07dec03 100644 --- a/src/cmd/gc/walk.c +++ b/src/cmd/gc/walk.c @@ -271,7 +271,7 @@ loop: if(top != Etop) goto nottop; walktype(n->left, Erv); - indir(n, list(prcompat(n->left, 1), nodpanic(n->lineno))); + indir(n, list(prcompat(n->left, 2), nodpanic(n->lineno))); goto ret; case OLITERAL: @@ -1980,6 +1980,10 @@ ascompat(Type *dst, Type *src) return 0; } +// generate code for print +// fmt = 0: print +// fmt = 1: println +// fmt = 2: panicln (like println but no trailing newline) Node* prcompat(Node *n, int fmt) { @@ -1995,7 +1999,7 @@ prcompat(Node *n, int fmt) loop: if(l == N) { - if(fmt) { + if(fmt == 1) { on = syslook("printnl", 0); r = list(r, nod(OCALL, on, N)); }