Commit 4c203172 authored by Rémy Oudompheng's avatar Rémy Oudompheng

cmd/8g: fix code generation of int64(0) == int64(0).

The code would violate the contract of cmp64.

Fixes #5002.

R=rsc, golang-dev
CC=golang-dev
https://golang.org/cl/7593043
parent 43ee8099
......@@ -1055,7 +1055,7 @@ bgen(Node *n, int true, int likely, Prog *to)
}
if(is64(nr->type)) {
if(!nl->addable) {
if(!nl->addable || isconst(nl, CTINT)) {
tempname(&n1, nl->type);
cgen(nl, &n1);
nl = &n1;
......
// build
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Issue 5002: 8g produces invalid CMPL $0, $0.
// Used to fail at link time.
package main
func main() {
var y int64
if y%1 == 0 {
}
}
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