https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63812
Bug ID: 63812 Summary: Compilation error due to a large floating point constant truncated to integer Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: e29253 at jp dot ibm.com CC: cmang at google dot com GCCGO cannot compile the following program, while GC can compile and run the same program. This program is derived from a unit test of Docker (https://github.com/docker/docker/blob/master/pkg/units/size_test.go#L28): inagaki@black3:~/size_test$ cat example.go package main import "fmt" func main() { fmt.Println(int64(2.22*1000000000000000)) } inagaki@black3:~/size_test$ gccgo example.go example.go:6:15: error: floating point constant truncated to integer fmt.Println(int64(2.22*1000000000000000)) ^ inagaki@black3:~/size_test$ /usr/bin/go build example.go inagaki@black3:~/size_test$ ./example 2220000000000000 inagaki@black3:~/size_test$ gccgo --version gccgo.bin (GCC) 5.0.0 20141029 (experimental) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. inagaki@black3:~/size_test$ The example can be successfully compiled if the constant value is smaller, for example, 2.22*10^12.