Date: Sat, 16 Oct 2004 17:12:22 +0000 (UTC) From: Greg Lewis <glewis@FreeBSD.org> To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: ports/java/jdk14/files patch-interpreter_shared.hpp Message-ID: <200410161712.i9GHCMaX022182@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
glewis 2004-10-16 17:12:22 UTC FreeBSD ports repository Added files: java/jdk14/files patch-interpreter_shared.hpp Log: . Fix the Server VM for gcc 3.4 part 1/2. The HotSpot code (ab)uses named enums as ints in a number of places. The problem with this is that according the the C++ spec, the compiler (essentially) only needs to use an integral type wide enough to hold the values defined in the enum. Earlier versions of gcc appear to have just used an int whether they could have got away with a narrower type or not, hence the code worked as expected. gcc 3.4 now appears to implement this part of the spec, so using an enum blindly as an int causes various problems due to overflow. This case is particularly bogus since the enums are merely to define a named integral type within a class (VMReg::Name doesn't even have any values enumerated in the declaration). So, convert these two enums to simply be typedef'ed ints. Sleuth work, discussion and code suggestions: peadar Revision Changes Path 1.1 +38 -0 ports/java/jdk14/files/patch-interpreter_shared.hpp (new)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410161712.i9GHCMaX022182>