This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
java/4158: ICE in generate_bytecode_conditional(); SP mismatch
- To: gcc-gnats at gcc dot gnu dot org
- Subject: java/4158: ICE in generate_bytecode_conditional(); SP mismatch
- From: david-b at pacbell dot net
- Date: 28 Aug 2001 19:41:31 -0000
- Reply-To: david-b at pacbell dot net
>Number: 4158
>Category: java
>Synopsis: ICE in generate_bytecode_conditional(); SP mismatch
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Tue Aug 28 12:46:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: david-b@pacbell.net
>Release: gcj 3.0
>Organization:
>Environment:
Linux 2.4.7 kernel, RedHat 7.0
i686-pc-linux-gnu
gcj configured --enable-threads=posix --enable-languages=c++,java --enable-checking
>Description:
ICE reported:
gcj -femit-class-files -Isource -foutput-class-dir=bin ...
./source/gnu/xml/dom/JAXPFactory.java: In class `':
./source/gnu/xml/dom/JAXPFactory.java: In method `(org.xml.sax.XMLReader,gnu.xml.dom.JAXPFactory)':
./source/gnu/xml/dom/JAXPFactory.java:162: Internal compiler error in generate_bytecode_conditional, at java/jcf-write.c:1350
Please submit a full bug report,
with preprocessed source if appropriate.
This particular line of code is the "if":
// if validating, default to treating validity errors as fatal
if (factory.isValidating ())
producer.setErrorHandler (this);
This is a static final inner class.
"factory" an instance of the enclosing (public final) class.
"isValidating" is inherited from its (abstract) superclass.
Notice: (a) ICE, (b) bogus diagnostic for classname
The ICE is essentially for an assertion
that state->code_SP didn't change (presumably,
while compiling that "if").
>How-To-Repeat:
Get a current copy, from CVS, of the GNU JAXP project.
That's CVS from http://savannah.gnu.org/software/classpathx,
the "jaxp" module. (The file in question is version
1.3 in my version, dated 2001/6/24)
Configure; change the JAVAC line in Makefile to
JAVAC = gcj -femit-class-files -Isource -foutput-class-dir=$(CC-DESTDIR)
Make. See the ICE.
>Fix:
none known. It may be that more current
versions of GCJ don't have this ICE.
>Release-Note:
>Audit-Trail:
>Unformatted: