Commit 0d6f857c authored by Luuk van Dijk's avatar Luuk van Dijk

gc: Switch related errors should use plain format.

Fixes #2422.

R=rsc
CC=golang-dev
https://golang.org/cl/5353046
parent c1716337
......@@ -825,7 +825,7 @@ typecheckswitch(Node *n)
typecheck(&n->ntest->right, Erv);
t = n->ntest->right->type;
if(t != T && t->etype != TINTER)
yyerror("cannot type switch on non-interface value %+N", n->ntest->right);
yyerror("cannot type switch on non-interface value %lN", n->ntest->right);
} else {
// value switch
top = Erv;
......@@ -860,13 +860,13 @@ typecheckswitch(Node *n)
if(ll->n->op == OTYPE)
yyerror("type %T is not an expression", ll->n->type);
else if(ll->n->type != T && !eqtype(ll->n->type, t))
yyerror("case %+N in %T switch", ll->n, t);
yyerror("case %lN in %T switch", ll->n, t);
break;
case Etype: // type switch
if(ll->n->op == OLITERAL && istype(ll->n->type, TNIL)) {
;
} else if(ll->n->op != OTYPE && ll->n->type != T) {
yyerror("%#N is not a type", ll->n);
yyerror("%lN is not a type", ll->n);
// reset to original type
ll->n = n->ntest->right;
}
......
......@@ -10,7 +10,7 @@ package main
func main() {
var x interface{}
switch t := x.(type) { // GC_ERROR "0 is not a type"
switch t := x.(type) { // GC_ERROR "is not a type"
case 0: // GCCGO_ERROR "expected type"
t.x = 1 // ERROR "type interface \{\}|reference to undefined field or method"
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment