This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: assertion with --enable-libgcj-debug
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: Anthony Green <green at redhat dot com>
- Cc: java at gcc dot gnu dot org
- Date: 03 Jul 2005 09:38:28 +0200
- Subject: Re: assertion with --enable-libgcj-debug
- References: <1120374400.3057.6.camel@localhost.localdomain>
Anthony Green <green@redhat.com> writes:
| Hi,
|
| I wanted to poke at Azureus again, so I built a 4.0 branch toolchain with
| --enable-libgcj-debug. I had to apply the following hack in order for libgcj
| to compile cleanly, since we have some assertions that try to read non-public
| fields.
|
| Index: gcj/javaprims.h
| ===================================================================
| RCS file: /cvs/gcc/gcc/libjava/gcj/javaprims.h,v
| retrieving revision 1.55
| diff -u -p -r1.55 javaprims.h
| --- gcj/javaprims.h 23 Feb 2005 17:36:24 -0000 1.55
| +++ gcj/javaprims.h 3 Jul 2005 07:00:50 -0000
| @@ -535,6 +535,9 @@ typedef unsigned int _Jv_ulong __attribu
|
| class _Jv_Utf8Const
| {
| +#ifdef DEBUG
| + public:
| +#endif
Notice this results in ODR violation between DEBUG and non-DEBUG mode.
How serious it is I don't know (I would say low, until GCC starts
taking access specifiers into account), but it definitely goes in the
undefined behaviour land.
-- Gaby