Given this code snippet: 63 public: 64 ::frysk::rsl::Log * print(jboolean); 65 private: 66 void dump(jboolean); 67 void dump(JArray< jboolean > *); 68 public: 69 ::frysk::rsl::Log * print(jchar); g++ is mis-diagnosing: source='../../frysk/frysk-sys/frysk/rsl/cni/Log.cxx' object='frysk/rsl/cni/Log.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../../frysk/frysk-sys/depcomp \ g++ -DPACKAGE_NAME=\"frysk\" -DPACKAGE_TARNAME=\"frysk\" -DPACKAGE_VERSION=\"0.0.1.2007.10.24\" -DPACKAGE_STRING=\"frysk\ 0.0.1.2007.10.24\" -DPACKAGE_BUGREPORT=\"\" -D_FILE_OFFSET_BITS=64 -DPACKAGE=\"frysk\" -DVERSION=\"0.0.1.2007.10.24\" -I. -I../../frysk/frysk-sys -I../../frysk/frysk-sys -I../../frysk/frysk-sys/../frysk-imports/include -I. -I../../frysk/frysk-sys/../frysk-imports/elfutils/libelf -I../../frysk/frysk-sys/../frysk-imports/elfutils/libdw -I../../frysk/frysk-sys/../frysk-imports/elfutils/libdwfl -I../../frysk/frysk-sys/../frysk-imports/libunwind/include -I./../frysk-imports/libunwind-i386/include -I./../frysk-imports/libunwind-x86_64/include -I./../frysk-imports/libunwind-ppc64/include -I./../frysk-imports/libunwind-ppc32/include -fPIC -g -O -Wall -Werror -c -o frysk/rsl/cni/Log.o ../../frysk/frysk-sys/frysk/rsl/cni/Log.cxx In file included from ../../frysk/frysk-sys/frysk/rsl/cni/Log.cxx:44: ./frysk/rsl/Log.h:67: error: Java method ‘void frysk::rsl::Log::dump(JArray<bool>*)’ has non-Java parameter type ‘JArray<bool>*’
That really is strange. We use such constructs all the time in libgcj. I wonder if this is related to some changes involving the definition of jboolean. Which g++ version is this?
This is already tracked upstream.