java/2538: latest gcj no longer compiles apache xerces parser due problems with variable declarations and inner classes
awk@spinnakernet.com
awk@spinnakernet.com
Wed Apr 11 12:36:00 GMT 2001
>Number: 2538
>Category: java
>Synopsis: latest gcj no longer compiles apache xerces parser due problems with variable declarations and inner classes
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Wed Apr 11 12:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:
>Release: 3.0 20010411 (prerelease)
>Organization:
>Environment:
System: Linux panic 2.2.12-20 #1 Mon Sep 27 10:40:35 EDT 1999 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc/configure --prefix=/home/tools/linux/compilers/gcc-3.0-new --enable-shared --enable-threads=posix --enable-version-specific-runtime-libs --enable-languages=c,c++,java
>Description:
GCJ no longer compiles the Apache Xerces XML parser v1.2.3
The last version of gcj that compiles xerces was:
> /home/tools/linux/compilers/gcc-3.0-alpha/bin/gcj -v
Reading specs from /home/tools/linux/compilers/gcc-3.0-alpha/lib/gcc-lib/i686-pc-linux-gnu/3.0/specs
Reading specs from /home/tools/linux/compilers/gcc-3.0-alpha/lib/gcc-lib/i686-pc-linux-gnu/3.0/../../../libgcj.spec
rename spec lib to liborig
rename spec startfile to startfileorig
Configured with: ../gcc/configure --prefix=/home/tools/linux/compilers/gcc-3.0-alpha --enable-shared --enable-threads=posix --enable-version-specific-runtime-libs --enable-languages=c,c++,java
gcc version 3.0 20010406 (prerelease)
This version of gcj is:
> /home/tools/linux/compilers/gcc-3.0-new/bin/gcj -v
Reading specs from /home/tools/linux/compilers/gcc-3.0-new/lib/gcc-lib/i686-pc-linux-gnu/3.0/specs
Reading specs from /home/tools/linux/compilers/gcc-3.0-new/lib/gcc-lib/i686-pc-linux-gnu/3.0/../../../libgcj.spec
rename spec lib to liborig
rename spec startfile to startfileorig
Configured with: ../gcc/configure --prefix=/home/tools/linux/compilers/gcc-3.0-new --enable-shared --enable-threads=posix --enable-version-specific-runtime-libs --enable-languages=c,c++,java
gcc version 3.0 20010411 (prerelease)
The error messages are:
gcj -C --encoding=UTF-8 -CLASSPATH ":src/xerces/src" src/xerces/src/org/apache/xerces/utils/StringPool.java
src/xerces/src/org/apache/xerces/utils/StringPool.java:109: Type `StringPool.StringProducer' not found in declaration of field `fStringProducer'.
private StringPool.StringProducer[][] fStringProducer = new StringPool.StringProducer[INITIAL_CHUNK_COUNT][];
and
gcj -C --encoding=UTF-8 -CLASSPATH ":src/xerces/src" src/xerces/src/org/apache/xerces/validators/schema/SchemaGrammar.java
src/xerces/src/org/apache/xerces/validators/schema/SchemaGrammar.java:537: Type `TraverseSchema.ComplexTypeInfo' not found in the declaration of the return type of method `resize'.
private TraverseSchema.ComplexTypeInfo[][] resize(TraverseSchema.ComplexTypeInfo array[][], int newsize) {
^
1 error
>How-To-Repeat:
Following is a example class pruned from the xerces sources. Compiling it will produce the same error messages.
class TraverseSchema {
public class ComplexTypeInfo {
}
}
public final class xerces1 {
private static final int INITIAL_CHUNK_COUNT = 10;
public interface StringProducer {
/**
*
*/
public String toString(int offset, int length);
/**
*
*/
public void releaseString(int offset, int length);
/**
*
*/
public boolean equalsString(int offset, int length, char[] strChars, int strOffset, int strLength);
};
private xerces1.StringProducer[][] fStringProducer = new xerces1.StringProducer[INITIAL_CHUNK_COUNT][];
private TraverseSchema.ComplexTypeInfo[][] resize(TraverseSchema.ComplexTypeInfo array[][], int newsize) {
TraverseSchema.ComplexTypeInfo newarray[][] = new TraverseSchema.ComplexTypeInfo[newsize][];
System.arraycopy(array, 0, newarray, 0, array.length);
return newarray;
}
}
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-prs
mailing list