[Bug java/19738] gcjh generates invalid class member floating-point initialisers

gdr at integrable-solutions dot net gcc-bugzilla@gcc.gnu.org
Tue Feb 1 15:57:00 GMT 2005


------- Additional Comments From gdr at integrable-solutions dot net  2005-02-01 15:57 -------
Subject: Re:  gcjh generates invalid class member floating-point initialisers

"rmathew at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:

| A patch to avoid this error is at:
| 
|   http://gcc.gnu.org/ml/java-patches/2005-q1/msg00255.html
| 
| Note that the correct way to initialise a 
| const float is apparently:
| 
|   class Foo
|   {
|     static const float bar;
|   }
| 
|   const float ::Foo::bar = 123.456f;
| 
| If gcjh were to be modified to generate
| code like this in the headers, we get
| multiple definition errors from the linker
| when two or more files #include the
| generated file.


Put the initializations (the real definition) in a .C file
(e.g. implementation file).  As someone said eight years ago, that
special rule is a misfeature.

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19738



More information about the Gcc-bugs mailing list