1
0
mirror of https://github.com/golang/go synced 2024-09-23 21:20:13 -06:00

Test that floating point constants resolve to type "float".

Currently 6g seems to resolve them to type "double".

R=ken,r
DELTA=30  (30 added, 0 deleted, 0 changed)
OCL=16132
CL=16152
This commit is contained in:
Ian Lance Taylor 2008-09-29 18:17:42 -07:00
parent 489b5001e2
commit aadd32223d
2 changed files with 35 additions and 0 deletions

24
test/bugs/bug109.go Normal file
View File

@ -0,0 +1,24 @@
// $G $D/$F.go || echo BUG: should compile
// 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
func f(a float) float {
e := 1.0;
e = e * a;
return e;
}
/*
6g bugs/bug109.go
bugs/bug109.go:5: illegal types for operand: MUL
(<float64>FLOAT64)
(<float32>FLOAT32)
bugs/bug109.go:5: illegal types for operand: AS
(<float64>FLOAT64)
bugs/bug109.go:6: illegal types for operand: RETURN
(<float32>FLOAT32)
(<float64>FLOAT64)
*/

View File

@ -168,6 +168,17 @@ BUG: errchk: command succeeded unexpectedly: 6g bugs/bug107.go
bugs/bug108.go:4: stupid shift: 1025
BUG: errchk: command succeeded unexpectedly: 6g bugs/bug108.go
=========== bugs/bug109.go
bugs/bug109.go:5: illegal types for operand: MUL
(<float64>FLOAT64)
(<float32>FLOAT32)
bugs/bug109.go:5: illegal types for operand: AS
(<float64>FLOAT64)
bugs/bug109.go:6: illegal types for operand: RETURN
(<float32>FLOAT32)
(<float64>FLOAT64)
BUG: should compile
=========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: overflow converting constant to <uint32>UINT32