From a91a0a6a7a319425d29a47ab7900c432d6f648e4 Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Fri, 19 Dec 2008 14:26:52 -0800 Subject: [PATCH] array compare (except = != nil) are illegal R=r OCL=21637 CL=21637 --- src/cmd/6g/cgen.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cmd/6g/cgen.c b/src/cmd/6g/cgen.c index c0a665c072..e735858808 100644 --- a/src/cmd/6g/cgen.c +++ b/src/cmd/6g/cgen.c @@ -751,6 +751,11 @@ bgen(Node *n, int true, Prog *to) } if(isdarray(nl->type)) { + // only valid to cmp darray to literal nil + if((a != OEQ && a != ONE) || nr->op != OLITERAL) { + yyerror("illegal array comparison"); + break; + } a = optoas(a, types[tptr]); regalloc(&n1, types[tptr], N); agen(nl, &n1); -- 2.48.1