fix handling of floating point zero constant 0p+0

R=r
DELTA=25  (25 added, 0 deleted, 0 changed)
OCL=29875
CL=29875
This commit is contained in:
Russ Cox 2009-06-04 11:06:37 -07:00
parent 70ce47058e
commit f51ca384eb
4 changed files with 37 additions and 0 deletions

View file

@ -807,6 +807,9 @@ tnum:
}
}
if(c == 'p') // 0p begins floating point zero
goto casep;
c1 = 0;
for(;;) {
if(!isdigit(c))

View file

@ -0,0 +1,8 @@
// Copyright 2009 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.
package x
const Zero = 0.0
const Ten = 10.0

View file

@ -0,0 +1,19 @@
// Copyright 2009 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.
package main
import "os"
import "x"
func main() {
if x.Zero != 0 {
println("x.Zero = ", x.Zero);
os.Exit(1);
}
if x.Ten != 10 {
println("x.Ten = ", x.Ten);
os.Exit(1);
}
}

7
test/fixedbugs/bug160.go Normal file
View file

@ -0,0 +1,7 @@
// $G $D/bug160.dir/x.go && $G $D/bug160.dir/y.go && $L y.$A x.$A && ./$A.out
// Copyright 2009 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.
nothing to see here