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