From f70e285178bbc87830cdd3bb02b7de3c8fe2dcb2 Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Mon, 10 Aug 2009 11:20:33 -0700 Subject: [PATCH] bug in int8 mod R=rsc OCL=32971 CL=32971 --- src/cmd/6g/ggen.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/cmd/6g/ggen.c b/src/cmd/6g/ggen.c index 2a61ca4e6b..629a8cd3d1 100644 --- a/src/cmd/6g/ggen.c +++ b/src/cmd/6g/ggen.c @@ -600,7 +600,6 @@ cgen_div(int op, Node *nl, Node *nr, Node *res) if(n < 0) goto divbymul; - switch(n) { case 0: // divide by 1 @@ -618,7 +617,7 @@ cgen_div(int op, Node *nl, Node *nr, Node *res) // divide by 2 if(op == OMOD) { if(issigned[nl->type->etype]) - goto longmod; + goto longdiv; regalloc(&n1, nl->type, res); cgen(nl, &n1); nodconst(&n2, nl->type, 1); @@ -643,7 +642,7 @@ cgen_div(int op, Node *nl, Node *nr, Node *res) default: if(op == OMOD) { if(issigned[nl->type->etype]) - goto longmod; + goto longdiv; regalloc(&n1, nl->type, res); cgen(nl, &n1); nodconst(&n2, nl->type, mpgetfix(nr->val.u.xval)-1); -- 2.48.1