0
1
mirror of https://github.com/golang/go synced 2025-05-03 03:01:34 +00:00

cmd/gc: fix conversion of runtime constant

The code cannot have worked before, because it was
trying to use the old value in a range check for the new
type, which might have a different representation
(hence the 'internal compiler error').

Fixes .

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/98630045
This commit is contained in:
Russ Cox
2014-05-27 21:38:19 -04:00
parent 3d1c3e1e26
commit 74ce581b06
2 changed files with 16 additions and 0 deletions
src/cmd/gc
test/fixedbugs

@ -951,6 +951,7 @@ unary:
case TUP(OCONV, CTFLT):
case TUP(OCONV, CTSTR):
convlit1(&nl, n->type, 1);
v = nl->val;
break;
case TUP(OPLUS, CTINT):

@ -0,0 +1,15 @@
// compile
// Copyright 2014 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 8073.
// was "internal compiler error: overflow: float64 integer constant"
package main
func main() {
var x int
_ = float64(x * 0)
}