Commit 74ce581b authored by Russ Cox's avatar Russ Cox

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 #8073.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/98630045
parent 3d1c3e1e
......@@ -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):
......
// 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)
}
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