]> Cypherpunks repositories - gostls13.git/commitdiff
exp/eval: Always read float literals as base 10
authorEvan Shaw <chickencha@gmail.com>
Fri, 16 Apr 2010 02:53:35 +0000 (19:53 -0700)
committerRobert Griesemer <gri@golang.org>
Fri, 16 Apr 2010 02:53:35 +0000 (19:53 -0700)
We were letting bignum decide, which caused problems with float literals with a leading 0.

R=gri
CC=golang-dev
https://golang.org/cl/816047

src/pkg/exp/eval/expr.go
src/pkg/exp/eval/expr_test.go

index 8651b07806a2e33661f8f5e1a2203c28127c5d03..81e9ffa9356ac2b3e3062d007c0123dcd5d9b338 100644 (file)
@@ -762,7 +762,7 @@ func (a *exprInfo) compileCharLit(lit string) *expr {
 }
 
 func (a *exprInfo) compileFloatLit(lit string) *expr {
-       f, _, n := bignum.RatFromString(lit, 0)
+       f, _, n := bignum.RatFromString(lit, 10)
        if n != len(lit) {
                log.Crashf("malformed float literal %s at %v passed parser", lit, a.pos)
        }
index f7f367d5e90fdfbcf22739a1e54164709678516e..12914fbd54f21d7df41878815974fd306ac3f38a 100644 (file)
@@ -142,6 +142,7 @@ var exprTests = []test{
 
        Val("+1", bignum.Int(+1)),
        Val("+1.0", bignum.Rat(1, 1)),
+       Val("01.5", bignum.Rat(15, 10)),
        CErr("+\"x\"", opTypes),
 
        Val("-42", bignum.Int(-42)),