classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] C code cleanup, building without -ansi, but with -Werror


From: Mark Wielaard
Subject: [cp-patches] C code cleanup, building without -ansi, but with -Werror
Date: Fri, 22 Oct 2004 14:56:56 +0200

Hi,

Got a nice report of some compile problems on cygwin from Gerrit Haase.
GNU Classpath seems to build almost out of the box except for a few
issues.

cygwin needs libtool to link libraries with -no-undefined, since all our
modules don't have cross or back-references (or at least should) have I
added this this to CLASSPATH_MODULE.

Our use of -ansi cases __STRICT_ANSI__ to be defined which hides a lot
of function prototypes from the standard c library on that platform. We
have seen this on some other (*BSD) platforms also and for GNU/Linux
systems we actually add -D_BSD_SOURCE to get some function declarations
back. What we want is that the C source code can be compiled with older
C compilers like gcc 2.95. But we do want to use some non-ansi
functions. Since we check for this already with autconf I decided to
drop the -ansi, but make the warning flags (if you use gcc) stricter.
Warning flags are now split in WARNING_CFLAGS, used everywhere except
for fdlibm. STRICT_WARNING_CFLAGS, used everywhere except for fdlibm and
gtk-peer (since the gtk headers are actualy not correctly prototyped)
and ERROR_CFLAGS which defines -Werror for those modules that should
compiler warning free.

The _timezone variable (timezone seems to be a unrelated function on
this platform) is defined as type time_t on the cygwin platform. Since
this should by definition be a postive number indicating the number of
seconds west of gmt we can safely cast it to a long.

Since I want us to be warning free and use -Werror I also cleaned up all
native code except the external fdlibm library and the gtk-peer jni
library that Andreast is working on to clean up. That is what makes this
patch looks big, but it is mainly defining method arguments in JNI as
unused. Especially the native nio part is big since basically nothing is
implemented so all arguments are unused :{

Most of the warning fixes are simple. There were a couple of actual or
potential problems fixed (like the accept loop). One thing that I
removed just to shutup the warnings were the asserts in
target_generic_network.h. The BSD socket functions have a pointer
argument that should point to the size of a given sock structure and
which is then changed by the funtion to contain the actual size of this
structure. The asserts were checking that the returned lenght was the
same as we put it. But this argument is defined as either a int*,
size_t* or socketlen_t* on different platforms. Getting the type of the
assert correct is a pain and I believe the assert is meaningless. But if
people know of actual situations that it might be useful we could put it
back.

In general the macros of the target layer are a pain to actually find
compiler warnings and errors. I propose to get rid of them asap.

The -Werror option can be disable by giving configure --disable-Werror.
Maybe for a release this should actually be the default. But for now I
would like people to try and compile classpath with this flag on.

Everything checked on powerpc-unknown-linux-gnu , also using gcc-2.95
and i686-pc-linux-gnu. No regressions with mauve.

2004-10-22  Mark Wielaard  <address@hidden>

        * configure.ac (CLASSPATH_MODULE): Add -no-undefined.
        (Werror): New configure flag.
        (gtk-peer): Remove comma from help string.
        (AM_CFLAGS): Replace by...
        (WARNING_CFLAGS, STRICT_WARNING_CFLAGS, ERROR_CFLAGS): New gcc flags.
        (AM_CPPFLAGS): Replace by...
        (CLASSPATH_INCLUDES): New -I gcc flags.
        * native/fdlibm/Makefile.am: Use new AM_LDFLAGS, AM_CPPFLAGS and
        AM_CFLAGS when not library specific flags are used.
        * native/jni/gtk-peer/Makefile.am: Likewise.
        * native/jni/java-io/Makefile.am: Likewise.
        * native/jni/java-lang/Makefile.am: Likewise.
        * native/jni/java-net/Makefile.am: Likewise.
        * native/jni/java-nio/Makefile.am: Likewise.
        * native/jni/java-util/Makefile.am: Likewise.

        * native/jni/java-io/java_io_ObjectInputStream.c: Mark function
        arguments unused where necessary.
        * native/jni/java-io/java_io_VMFile.c: Likewise.
        * native/jni/java-io/java_io_VMObjectStreamClass.c: Likewise.
        (getFieldReference): Make sure we allocate the_type ourselves if we
        free it later. Removed unused argument object.
        * native/jni/java-io/javaio.c (javaio_read): Removed unused argument
        obj.
        (javaio_write): Likewise.
        * native/jni/java-io/javaio.h: Mark function arguments unused where
        necessary.
        * native/jni/java-lang/java_lang_Double.c: Likewise.
        (Java_java_lang_Double_parseDouble): Declare buf as const char*.
        * native/jni/java-lang/java_lang_Math.c: Mark function arguments
        unused where necessary.
        * native/jni/java-lang/java_lang_VMDouble.c: Likewise.
        * native/jni/java-lang/java_lang_VMFloat.c: Likewise.
        * native/jni/java-lang/java_lang_VMSystem.c: Likewise.
        * native/jni/java-lang/java_lang_reflect_Array.c: Likewise.
        * native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c
        (Java_gnu_java_net_PlainDatagramSocketImpl_receive0): Mark only
        maxlen and offset as unsigned.
        * native/jni/java-net/java_net_InetAddress.c: Mark function arguments
        unused where necessary.
        (Java_java_net_InetAddress_getHostByName): New local int variable
        max_addresses.
        * native/jni/java-net/java_net_NetworkInterface.c: Mark function
        arguments unused where necessary.
        * native/jni/java-net/javanet.c (_javanet_set_int_field): Removed
        unused argument class.
        (_javanet_accept): Check result variable after it has been assigned.
        * native/jni/java-nio/gnu_java_nio_NIOServerSocket.c: Mark function
        arguments unused where necessary.
        * native/jni/java-nio/gnu_java_nio_VMPipe.c: Likewise.
        * native/jni/java-nio/gnu_java_nio_VMSelector.c: Likewise.
        * native/jni/java-nio/gnu_java_nio_VMSelector.c: Likewise.
        * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
        Likewise.
        * native/jni/java-nio/java_nio_DirectByteBufferImpl.c: Likewise.
        * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: Likewise.
        * native/jni/java-nio/java_nio_channels_Channels.c: Likewise.
        * native/jni/java-util/java_util_VMTimeZone.c (jint_to_charbuf):
        Mark as static function.
        (Java_java_util_VMTimeZone_getSystemTimeZoneId): Mark clazz argument
        as unused. Cast _timezone to long before use.
        * native/target/generic/target_generic_network.h: Remove asserts.

Comments, complaints, better ways to fix some of these issues?

Cheers,

Mark
Index: configure.ac
===================================================================
RCS file: /cvsroot/classpath/classpath/configure.ac,v
retrieving revision 1.54
diff -u -r1.54 configure.ac
--- configure.ac        15 Oct 2004 07:16:06 -0000      1.54
+++ configure.ac        22 Oct 2004 10:43:00 -0000
@@ -21,7 +21,7 @@
 dnl at which time we'll have to be more anal about such things
 dnl -----------------------------------------------------------
 AC_SUBST(LIBVERSION, "0:0:0")
-CLASSPATH_MODULE="-module -version-info ${LIBVERSION}"
+CLASSPATH_MODULE="-module -version-info ${LIBVERSION} -no-undefined"
 AC_SUBST(CLASSPATH_MODULE)
 
 AC_PREREQ(2.59)
@@ -43,10 +43,22 @@
 AM_CONDITIONAL(CREATE_JNI_LIBRARIES, test "x${COMPILE_JNI}" = xyes)
 
 dnl -----------------------------------------------------------
+dnl Whether to compile with -Werror or not (enabled by default)
+dnl -----------------------------------------------------------
+AC_ARG_ENABLE([Werror],
+              [AS_HELP_STRING(--disable-Werror,whether to compile C code with 
-Werror which turns any compiler warning into a compilation failure 
[default=yes])],
+              [case "${enableval}" in
+                yes) ENABLE_WERROR=yes ;;
+                no) ENABLE_WERROR=no ;;
+                *) ENABLE_WERROR=yes ;;
+              esac],
+              [ENABLE_WERROR=yes])
+
+dnl -----------------------------------------------------------
 dnl GTK native peer (enabled by default)
 dnl -----------------------------------------------------------
 AC_ARG_ENABLE([gtk-peer],
-              [AS_HELP_STRING(--disable-gtk-peer,compile GTK native 
peers,disabled by --disable-jni [default=yes])],
+              [AS_HELP_STRING(--disable-gtk-peer,compile GTK native peers 
(disabled by --disable-jni) [default=yes])],
               [case "${enableval}" in
                 yes) COMPILE_GTK_PEER=yes ;;
                 no) COMPILE_GTK_PEER=no ;;
@@ -160,14 +172,29 @@
   dnl FIXME - does not allow cross compiling
   AC_C_BIGENDIAN
 
-  dnl We want warnings, lots of warnings :-)
-  AM_CFLAGS=
+  dnl When using gcc we want warnings, lots of warnings :-)
   if test "x${GCC}" = xyes; then
     dnl We want ISO C90 pedantic ansi, but with longlong (jlong) support
     dnl and modern POSIX and BSD C library functions/prototypes.
-    AM_CFLAGS='-ansi -pedantic -Wmissing-declarations -Wmissing-prototypes 
-Wstrict-prototypes -Wall -Wno-long-long -D_BSD_SOURCE '
+
+    dnl Warning flags for (almost) everybody.
+    dnl Should probably be configurable
+    WARNING_CFLAGS='-pedantic -W -Wall -Wmissing-declarations -Wwrite-strings 
-Wmissing-prototypes -Wno-long-long'
+    AC_SUBST(WARNING_CFLAGS)
+
+    dnl Strict warning flags which not every module uses.
+    dnl Should probably be configurable.
+    STRICT_WARNING_CFLAGS=-Wstrict-prototypes
+    AC_SUBST(STRICT_WARNING_CFLAGS)
+
+    dnl Whether or not to add -Werror, also not used by all modueles.
+    dnl Can be configured by --disable-Werror
+    ERROR_CFLAGS=
+    if test "x${ENABLE_WERROR}" = xyes; then
+       ERROR_CFLAGS='-Werror'
+    fi
+    AC_SUBST(ERROR_CFLAGS)
   fi
-  AC_SUBST(AM_CFLAGS)
 
   dnl Check for AWT related gthread/gtk/libart_lgpl
   if test "x${COMPILE_GTK_PEER}" = xyes; then
@@ -191,10 +218,10 @@
 
 dnl ----------------------------------------------------------- 
 dnl Add the include files for the native abstraction layer.
+dnl Used by AM_CPPFLAGS in the different modules.
 dnl -----------------------------------------------------------
-AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath"
-AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)/native/target/Linux 
-I\$(top_srcdir)/native/target/generic"
-AC_SUBST(AM_CPPFLAGS)
+CLASSPATH_INCLUDES="-I\$(top_srcdir)/include 
-I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/target/Linux 
-I\$(top_srcdir)/native/target/generic"
+AC_SUBST(CLASSPATH_INCLUDES)
 
 dnl -----------------------------------------------------------
 if test "x${COMPILE_JNI}" = xyes; then
Index: native/fdlibm/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/fdlibm/Makefile.am,v
retrieving revision 1.6
diff -u -r1.6 Makefile.am
--- native/fdlibm/Makefile.am   21 May 2004 07:25:42 -0000      1.6
+++ native/fdlibm/Makefile.am   22 Oct 2004 10:43:01 -0000
@@ -45,9 +45,8 @@
                        w_remainder.c \
                        w_sqrt.c 
 
-libfdlibm_la_LDFLAGS = @CLASSPATH_MODULE@ 
+AM_LDFLAGS = @CLASSPATH_MODULE@ 
 
 # We just want the standard flags for fdlibm since it is an upstream lib
-# and our normal -ansi -pedantic -Wall -Werror breaks this lib.
-AM_CFLAGS = 
-
+# and our normal -pedantic -Wall -Werror breaks this lib. So no AM_CFLAGS.
+# We also don't need extra includes, so no AM_CPPFLAGS either.
Index: native/jni/classpath/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/classpath/Makefile.am,v
retrieving revision 1.3
diff -u -r1.3 Makefile.am
--- native/jni/classpath/Makefile.am    21 May 2004 07:25:42 -0000      1.3
+++ native/jni/classpath/Makefile.am    22 Oct 2004 10:43:01 -0000
@@ -5,4 +5,6 @@
                          primlib.c primlib.h \
                          native_state.c native_state.h
 
-libclasspath_la_LDFLAGS = @CLASSPATH_MODULE@
+AM_LDFLAGS = @CLASSPATH_MODULE@
+AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
Index: native/jni/gtk-peer/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/Makefile.am,v
retrieving revision 1.17
diff -u -r1.17 Makefile.am
--- native/jni/gtk-peer/Makefile.am     22 Oct 2004 10:11:11 -0000      1.17
+++ native/jni/gtk-peer/Makefile.am     22 Oct 2004 10:43:01 -0000
@@ -53,8 +53,13 @@
                        gtkcairopeer.h \
                        gtkpeer.h
 
-libgtkpeer_la_CPPFLAGS = $(AM_CPPFLAGS) @GTK_CFLAGS@ \
-                         @CAIRO_CFLAGS@ @PANGOFT2_CFLAGS@
 libgtkpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo
-libgtkpeer_la_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ \
-                        @CAIRO_LIBS@ @PANGOFT2_LIBS@
+
+AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @CAIRO_LIBS@ @PANGOFT2_LIBS@
+AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+
+# Just the WARNING_CFLAGS. We cannot use the strict flags since the gtk
+# headers contain broken prototypes (by design, see gtkitemfactory.h).
+# Also no -Werror for now since not all warnings have been solved yet. FIXME.
+AM_CFLAGS = @WARNING_CFLAGS@ \
+            @GTK_CFLAGS@ @CAIRO_CFLAGS@ @PANGOFT2_CFLAGS@
Index: native/jni/java-io/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-io/Makefile.am,v
retrieving revision 1.17
diff -u -r1.17 Makefile.am
--- native/jni/java-io/Makefile.am      21 May 2004 07:25:44 -0000      1.17
+++ native/jni/java-io/Makefile.am      22 Oct 2004 10:43:01 -0000
@@ -6,5 +6,8 @@
                        java_io_VMFile.c \
                        java_io_VMObjectStreamClass.c
 
-libjavaio_la_LDFLAGS = @CLASSPATH_MODULE@ 
 libjavaio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo
+
+AM_LDFLAGS = @CLASSPATH_MODULE@
+AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
Index: native/jni/java-io/java_io_ObjectInputStream.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-io/java_io_ObjectInputStream.c,v
retrieving revision 1.8
diff -u -r1.8 java_io_ObjectInputStream.c
--- native/jni/java-io/java_io_ObjectInputStream.c      29 Mar 2004 07:07:27 
-0000      1.8
+++ native/jni/java-io/java_io_ObjectInputStream.c      22 Oct 2004 10:43:01 
-0000
@@ -1,5 +1,5 @@
 /* java_io_ObjectInputStream.c -- Native methods for ObjectInputStream class
-   Copyright (C) 1998 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2004 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -76,7 +76,8 @@
  */
 JNIEXPORT jobject JNICALL
 Java_java_io_ObjectInputStream_allocateObject( JNIEnv * env,
-                                              jobject self,
+                                              jobject self
+                                              __attribute__ ((__unused__)),
                                               jclass clazz )
 {
   return (*env)->AllocObject( env, clazz );
@@ -90,7 +91,8 @@
  */
 JNIEXPORT void JNICALL 
 Java_java_io_ObjectInputStream_callConstructor( JNIEnv * env,
-                                               jclass clazz,
+                                               jclass clazz
+                                               __attribute__ ((__unused__)),
                                                jclass constr_class,
                                                jobject obj )
 {
Index: native/jni/java-io/java_io_VMFile.c
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-io/java_io_VMFile.c,v
retrieving revision 1.1
diff -u -r1.1 java_io_VMFile.c
--- native/jni/java-io/java_io_VMFile.c 26 Apr 2004 20:51:32 -0000      1.1
+++ native/jni/java-io/java_io_VMFile.c 22 Oct 2004 10:43:01 -0000
@@ -65,7 +65,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_create(JNIEnv *env, jclass clazz, jstring name)
+Java_java_io_VMFile_create(JNIEnv *env,
+                          jclass clazz __attribute__ ((__unused__)),
+                          jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -107,7 +109,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_canRead(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_canRead(JNIEnv *env,
+                           jobject obj __attribute__ ((__unused__)),
+                           jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -149,7 +153,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_canWrite(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_canWrite(JNIEnv *env,
+                            jobject obj __attribute__ ((__unused__)),
+                            jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -191,7 +197,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_setReadOnly(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_setReadOnly(JNIEnv *env,
+                               jobject obj __attribute__ ((__unused__)),
+                               jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -225,7 +233,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_exists(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_exists(JNIEnv *env,
+                          jobject obj __attribute__ ((__unused__)),
+                          jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -260,7 +270,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_isFile(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_isFile(JNIEnv *env,
+                          jobject obj __attribute__ ((__unused__)),
+                          jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -294,7 +306,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_isDirectory(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_isDirectory(JNIEnv *env,
+                               jobject obj __attribute__ ((__unused__)),
+                               jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -328,7 +342,9 @@
  */
 
 JNIEXPORT jlong JNICALL
-Java_java_io_VMFile_length(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_length(JNIEnv *env,
+                          jobject obj __attribute__ ((__unused__)),
+                          jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -376,7 +392,9 @@
  */
 
 JNIEXPORT jlong JNICALL
-Java_java_io_VMFile_lastModified(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_lastModified(JNIEnv *env,
+                                jobject obj __attribute__ ((__unused__)),
+                                jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -411,8 +429,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_setLastModified(JNIEnv *env, jobject obj,
-                                          jstring name, jlong newtime)
+Java_java_io_VMFile_setLastModified(JNIEnv *env,
+                                   jobject obj __attribute__ ((__unused__)),
+                                   jstring name, jlong newtime)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -447,7 +466,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_delete(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_delete(JNIEnv *env,
+                          jobject obj __attribute__ ((__unused__)),
+                          jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *filename;
@@ -481,7 +502,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_mkdir(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_mkdir(JNIEnv *env,
+                         jobject obj __attribute__ ((__unused__)),
+                         jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *pathname;
@@ -515,7 +538,9 @@
  */
 
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMFile_renameTo(JNIEnv *env, jobject obj, jstring t, jstring d)
+Java_java_io_VMFile_renameTo(JNIEnv *env,
+                            jobject obj __attribute__ ((__unused__)),
+                            jstring t, jstring d)
 {
 #ifndef WITHOUT_FILESYSTEM
   const char *old_filename, *new_filename;
@@ -558,7 +583,8 @@
  */
 
 JNIEXPORT jobjectArray JNICALL
-Java_java_io_VMFile_list(JNIEnv *env, jobject obj, jstring name)
+Java_java_io_VMFile_list(JNIEnv *env, jobject obj __attribute__ ((__unused__)),
+                        jstring name)
 {
 #ifndef WITHOUT_FILESYSTEM
   const int REALLOC_SIZE = 10;
Index: native/jni/java-io/java_io_VMObjectStreamClass.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-io/java_io_VMObjectStreamClass.c,v
retrieving revision 1.8
diff -u -r1.8 java_io_VMObjectStreamClass.c
--- native/jni/java-io/java_io_VMObjectStreamClass.c    29 Apr 2004 06:42:15 
-0000      1.8
+++ native/jni/java-io/java_io_VMObjectStreamClass.c    22 Oct 2004 10:43:01 
-0000
@@ -50,8 +50,9 @@
  * Signature: (Ljava/lang/Class;)Z
  */
 JNIEXPORT jboolean JNICALL
-Java_java_io_VMObjectStreamClass_hasClassInitializer( JNIEnv * env,
-                                                jclass vmosklass,
+Java_java_io_VMObjectStreamClass_hasClassInitializer(JNIEnv * env,
+                                                jclass vmosklass
+                                                __attribute__ ((__unused__)),
                                                 jclass klass )
 {
   jmethodID mid = (*env)->GetStaticMethodID(env, klass, "<clinit>", "()V");
@@ -104,7 +105,7 @@
 }
 
 static jfieldID getFieldReference(JNIEnv *env, jobject field, 
-                                 jobject object, char *type)
+                                 const char *type)
 {
   jclass classClass;
   jclass fieldClass;
@@ -113,7 +114,7 @@
   jfieldID fid;
   const char *field_name;
   const char *type_name;
-  size_t type_len;
+  int type_len;
   jmethodID mid;
   jstring name;
   jstring tname;
@@ -145,6 +146,8 @@
   /* Do we need to find out the exact type descriptor of the field? */
   if (type == NULL)
     {
+      char *the_type;
+
       mid = (*env)->GetMethodID(env, fieldClass,
                                "getType",
                                "()Ljava/lang/Class;");
@@ -178,33 +181,39 @@
       type_len = strlen((char *) type_name);
       if (type_name[0] != '[')
         {
-         type = (char *) malloc(type_len + 3);
-         type[0] = 'L';
-         type[type_len + 1] = ';';
-         type[type_len + 2] = '\0';
-         type++;
+         /* XXX - FIXME - should not use dynamic allocation in core lib. */
+         the_type = (char *) malloc(type_len + 3);
+         the_type[0] = 'L';
+         the_type[type_len + 1] = ';';
+         the_type[type_len + 2] = '\0';
+         the_type++;
        }
       else
        {
-         type = (char *) malloc(type_len + 1);
-         type[type_len] = '\0';
+         /* XXX - FIXME - should not use dynamic allocation in core lib. */
+         the_type = (char *) malloc(type_len + 1);
+         the_type[type_len] = '\0';
        }
 
       for (i = 0; i < type_len; i++)
        if (type_name[i] == '.')
-         type[i] = '/';
+         the_type[i] = '/';
         else
-         type[i] = type_name[i];
+         the_type[i] = type_name[i];
 
       if (type_name[0] != '[')
-       type--;
+       the_type--;
 
       (*env)->ReleaseStringUTFChars(env, tname, type_name);
+      fid = (*env)->GetFieldID(env, declaringClass, field_name, the_type);
+      free(the_type);
     }
   else
-    type_len = -1;
+    {
+      type_len = -1;
+      fid = (*env)->GetFieldID(env, declaringClass, field_name, type);
+    }
 
-  fid = (*env)->GetFieldID(env, declaringClass, field_name, (const char 
*)type);
   if (fid == NULL)
     {
       throwInternalError(env);
@@ -212,10 +221,6 @@
     }
   (*env)->ReleaseStringUTFChars(env, name, field_name);
 
-  /* Did we create the type ourselves? */
-  if (type_len != -1)
-    free(type);
-  
   return fid;
 }
 
@@ -225,13 +230,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;Z)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setBooleanNative( JNIEnv * env,
-                                                  jclass vmosklass,
-                                                  jobject field,
-                                                  jobject object,
-                                                  jboolean value )
+Java_java_io_VMObjectStreamClass_setBooleanNative(JNIEnv * env,
+                                                 jclass vmosklass
+                                                 __attribute__ ((__unused__)),
+                                                 jobject field,
+                                                 jobject object,
+                                                 jboolean value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "Z");
+  jfieldID fid = getFieldReference (env, field, "Z");
 
   if (fid != NULL)
     (*env)->SetBooleanField(env, object, fid, value);
@@ -243,13 +249,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;C)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setCharNative( JNIEnv * env,
-                                               jclass vmosklass,
-                                               jobject field,
-                                               jobject object,
-                                               jchar value )
+Java_java_io_VMObjectStreamClass_setCharNative(JNIEnv * env,
+                                              jclass vmosklass
+                                              __attribute__ ((__unused__)),
+                                              jobject field,
+                                              jobject object,
+                                              jchar value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "C");
+  jfieldID fid = getFieldReference (env, field, "C");
 
   if (fid != NULL)
     (*env)->SetCharField(env, object, fid, value);
@@ -261,13 +268,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;B)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setByteNative( JNIEnv * env,
-                                               jclass vmosklass,
-                                               jobject field,
-                                               jobject object,
-                                               jbyte value )
+Java_java_io_VMObjectStreamClass_setByteNative(JNIEnv * env,
+                                              jclass vmosklass
+                                              __attribute__ ((__unused__)),
+                                              jobject field,
+                                              jobject object,
+                                              jbyte value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "B");
+  jfieldID fid = getFieldReference (env, field, "B");
 
   if (fid != NULL)
     (*env)->SetByteField(env, object, fid, value);
@@ -280,13 +288,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;S)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setShortNative( JNIEnv * env,
-                                                jclass vmosklass,
-                                                jobject field,
-                                                jobject object,
-                                                jshort value )
+Java_java_io_VMObjectStreamClass_setShortNative(JNIEnv * env,
+                                               jclass vmosklass
+                                               __attribute__ ((__unused__)),
+                                               jobject field,
+                                               jobject object,
+                                               jshort value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "S");
+  jfieldID fid = getFieldReference (env, field, "S");
 
   if (fid != NULL)
     (*env)->SetShortField(env, object, fid, value);
@@ -298,13 +307,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;I)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setIntNative( JNIEnv * env,
-                                              jclass vmosklass,
-                                              jobject field,
-                                              jobject object,
-                                              jint value )
+Java_java_io_VMObjectStreamClass_setIntNative(JNIEnv * env,
+                                             jclass vmosklass
+                                             __attribute__ ((__unused__)),
+                                             jobject field,
+                                             jobject object,
+                                             jint value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "I");
+  jfieldID fid = getFieldReference (env, field, "I");
 
   if (fid != NULL)
     (*env)->SetIntField(env, object, fid, value);
@@ -317,13 +327,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;J)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setLongNative( JNIEnv * env,
-                                              jclass vmosklass,
+Java_java_io_VMObjectStreamClass_setLongNative(JNIEnv * env,
+                                              jclass vmosklass
+                                              __attribute__ ((__unused__)),
                                               jobject field,
                                               jobject object,
                                               jlong value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "J");
+  jfieldID fid = getFieldReference (env, field, "J");
 
   if (fid != NULL)
     (*env)->SetLongField(env, object, fid, value);
@@ -336,13 +347,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;F)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setFloatNative( JNIEnv * env,
-                                                jclass vmosklass,
-                                                jobject field,
-                                                jobject object,
-                                                jfloat value )
+Java_java_io_VMObjectStreamClass_setFloatNative(JNIEnv * env,
+                                               jclass vmosklass
+                                               __attribute__ ((__unused__)),
+                                               jobject field,
+                                               jobject object,
+                                               jfloat value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "F");
+  jfieldID fid = getFieldReference (env, field, "F");
 
   if (fid != NULL)
     (*env)->SetFloatField(env, object, fid, value);
@@ -354,13 +366,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;D)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setDoubleNative( JNIEnv * env,
-                                                jclass vmosklass,
+Java_java_io_VMObjectStreamClass_setDoubleNative(JNIEnv * env,
+                                                jclass vmosklass
+                                                __attribute__ ((__unused__)),
                                                 jobject field,
                                                 jobject object,
                                                 jdouble value )
 {
-  jfieldID fid = getFieldReference (env, field, object, "D");
+  jfieldID fid = getFieldReference (env, field, "D");
 
   if (fid != NULL)
     (*env)->SetDoubleField(env, object, fid, value);
@@ -372,13 +385,14 @@
  * Signature: (Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;)V
  */
 JNIEXPORT void JNICALL
-Java_java_io_VMObjectStreamClass_setObjectNative( JNIEnv * env,
-                                                jclass vmosklass,
+Java_java_io_VMObjectStreamClass_setObjectNative(JNIEnv * env,
+                                                jclass vmosklass
+                                                __attribute__ ((__unused__)),
                                                 jobject field,
                                                 jobject object,
                                                 jobject value )
 {
-  jfieldID fid = getFieldReference (env, field, object, NULL);
+  jfieldID fid = getFieldReference (env, field, NULL);
 
   if (fid != NULL)
     (*env)->SetObjectField(env, object, fid, value);
Index: native/jni/java-io/javaio.c
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-io/javaio.c,v
retrieving revision 1.12
diff -u -r1.12 javaio.c
--- native/jni/java-io/javaio.c 9 Apr 2004 14:04:50 -0000       1.12
+++ native/jni/java-io/javaio.c 22 Oct 2004 10:43:01 -0000
@@ -214,8 +214,7 @@
  */
 
 jint
-_javaio_read(JNIEnv *env, jobject obj, jint fd, jarray buf, jint offset,
-             jint len)
+_javaio_read(JNIEnv *env, jint fd, jarray buf, jint offset, jint len)
 {
 #ifndef WITHOUT_FILESYSTEM
   jbyte *bufptr;
@@ -291,8 +290,7 @@
  */
 
 jint
-_javaio_write(JNIEnv *env, jobject obj, jint fd, jarray buf, jint offset,
-              jint len)
+_javaio_write(JNIEnv *env, jint fd, jarray buf, jint offset, jint len)
 {
 #ifndef WITHOUT_FILESYSTEM
   jbyte *bufptr;
Index: native/jni/java-io/javaio.h
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-io/javaio.h,v
retrieving revision 1.5
diff -u -r1.5 javaio.h
--- native/jni/java-io/javaio.h 30 Apr 2004 11:05:17 -0000      1.5
+++ native/jni/java-io/javaio.h 22 Oct 2004 10:43:01 -0000
@@ -1,5 +1,5 @@
 /* javaio.h - Declaration for common java.io native functions
-   Copyright (C) 1998 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2004 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -51,8 +51,8 @@
 extern jint _javaio_open_read(JNIEnv *, jstring);
 extern jint _javaio_open_readwrite(JNIEnv *, jstring);
 extern void _javaio_close(JNIEnv *, jint fd);
-extern jint _javaio_read(JNIEnv *, jobject obj, jint, jarray, jint, jint);
-extern jint _javaio_write(JNIEnv *, jobject obj, jint, jarray, jint, jint);
+extern jint _javaio_read(JNIEnv *, jint, jarray, jint, jint);
+extern jint _javaio_write(JNIEnv *, jint, jarray, jint, jint);
 
 #endif /* JAVAIO_H_INCLUDED */
 
Index: native/jni/java-lang/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-lang/Makefile.am,v
retrieving revision 1.9
diff -u -r1.9 Makefile.am
--- native/jni/java-lang/Makefile.am    21 May 2004 07:25:44 -0000      1.9
+++ native/jni/java-lang/Makefile.am    22 Oct 2004 10:43:01 -0000
@@ -8,12 +8,11 @@
                         java_lang_Math.c \
                         java_lang_VMProcess.c
 
-libjavalang_la_CFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/native/fdlibm
 libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \
                        $(top_builddir)/native/jni/classpath/jcl.lo
-libjavalang_la_LDFLAGS = @CLASSPATH_MODULE@
 
-libjavalangreflect_la_CFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/native/fdlibm
 libjavalangreflect_la_SOURCES = java_lang_reflect_Array.c
 
-libjavalangreflect_la_LDFLAGS = @CLASSPATH_MODULE@
+AM_LDFLAGS = @CLASSPATH_MODULE@
+AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -I$(top_srcdir)/native/fdlibm
+AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
Index: native/jni/java-lang/java_lang_Double.c
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-lang/java_lang_Double.c,v
retrieving revision 1.14
diff -u -r1.14 java_lang_Double.c
--- native/jni/java-lang/java_lang_Double.c     10 Oct 2004 18:33:10 -0000      
1.14
+++ native/jni/java-lang/java_lang_Double.c     22 Oct 2004 10:43:01 -0000
@@ -1,5 +1,5 @@
 /* Double.c - java.lang.Double native functions
-   Copyright (C) 1998, 1999, 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2003, 2004 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -212,10 +212,11 @@
  * Signature: (Ljava/lang/String;)D
  */
 JNIEXPORT jdouble JNICALL Java_java_lang_Double_parseDouble
-  (JNIEnv * env, jclass cls, jstring str)
+  (JNIEnv * env, jclass cls __attribute__((__unused__)), jstring str)
 {
   jboolean isCopy;
-  char *buf, *endptr;
+  const char *buf;
+  char *endptr;
   jdouble val = 0.0;
 
   if (str == NULL)
@@ -231,7 +232,7 @@
     }
   else
     {
-      unsigned char *p = buf, *end, *last_non_ws;
+      const char *p = buf, *end, *last_non_ws, *temp;
       int ok = 1;
  
 #ifdef DEBUG
@@ -263,7 +264,7 @@
        }
 
       /* Check for infinity and NaN */
-      unsigned char *temp = p;
+      temp = p;
       if(temp[0] == '+' || temp[0] == '-')
        temp++;
       if(strncmp("Infinity", temp, (size_t) 8) == 0)
@@ -300,7 +301,7 @@
          fprintf (stderr, "java.lang.Double.parseDouble %i != %i ???\n",
                   endptr, last_non_ws);
 #endif
-         if ((unsigned char *) endptr != last_non_ws)
+         if (endptr != last_non_ws)
            ok = 0;
        }
       else
Index: native/jni/java-lang/java_lang_Math.c
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-lang/java_lang_Math.c,v
retrieving revision 1.4
diff -u -r1.4 java_lang_Math.c
--- native/jni/java-lang/java_lang_Math.c       29 Mar 2004 07:07:27 -0000      
1.4
+++ native/jni/java-lang/java_lang_Math.c       22 Oct 2004 10:43:01 -0000
@@ -1,5 +1,5 @@
 /* Math.c - java.lang.Math native functions
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2004 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -40,77 +40,122 @@
 #include <java_lang_Math.h>
 #include <fdlibm.h>
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_sin (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_sin
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return sin (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_cos (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_cos
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return cos (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_tan (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_tan
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return tan (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_asin (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_asin
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return asin (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_acos (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_acos
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return acos (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_atan (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_atan
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return atan (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_atan2 (JNIEnv *env, jclass cls, 
jdouble y, jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_atan2
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble y, jdouble x)
 {
   return atan2 (y, x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_exp (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_exp
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return exp (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_log (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_log
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return log (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_sqrt (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_sqrt
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return sqrt (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_pow (JNIEnv *env, jclass cls, 
jdouble x, jdouble y)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_pow
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x, jdouble y)
 {
   return pow (x, y);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_IEEEremainder (JNIEnv *env, 
jclass cls, jdouble x, jdouble y)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_IEEEremainder
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x, jdouble y)
 {
   return remainder (x, y);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_ceil (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_ceil
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return ceil (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_floor (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_floor
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return floor (x);
 }
 
-JNIEXPORT jdouble JNICALL Java_java_lang_Math_rint (JNIEnv *env, jclass cls, 
jdouble x)
+JNIEXPORT jdouble JNICALL Java_java_lang_Math_rint
+(JNIEnv *env __attribute__((__unused__)),
+ jclass cls __attribute__((__unused__)),
+ jdouble x)
 {
   return rint (x);
 }
Index: native/jni/java-lang/java_lang_VMDouble.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-lang/java_lang_VMDouble.c,v
retrieving revision 1.4
diff -u -r1.4 java_lang_VMDouble.c
--- native/jni/java-lang/java_lang_VMDouble.c   30 Apr 2004 11:05:17 -0000      
1.4
+++ native/jni/java-lang/java_lang_VMDouble.c   22 Oct 2004 10:43:01 -0000
@@ -1,5 +1,5 @@
 /* VMDouble.c - java.lang.VMDouble native functions
-   Copyright (C) 1998, 1999, 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2003, 2004 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -47,7 +47,9 @@
  * Signature: (D)J
  */
 JNIEXPORT jlong JNICALL Java_java_lang_VMDouble_doubleToLongBits
-  (JNIEnv * env, jclass cls, jdouble doubleValue)
+  (JNIEnv *env __attribute__((__unused__)),
+   jclass cls __attribute__((__unused__)),
+   jdouble doubleValue)
 {
   jvalue val;
   jlong e, f;
@@ -68,7 +70,9 @@
  * Signature: (D)J
  */
 JNIEXPORT jlong JNICALL Java_java_lang_VMDouble_doubleToRawLongBits
-  (JNIEnv * env, jclass cls, jdouble doubleValue)
+  (JNIEnv *env __attribute__((__unused__)),
+   jclass cls __attribute__((__unused__)),
+   jdouble doubleValue)
 {
   jvalue val;
   val.d = doubleValue;
@@ -81,7 +85,9 @@
  * Signature: (J)D
  */
 JNIEXPORT jdouble JNICALL Java_java_lang_VMDouble_longBitsToDouble
-  (JNIEnv * env, jclass cls, jlong longValue)
+  (JNIEnv *env __attribute__((__unused__)),
+   jclass cls __attribute__((__unused__)),
+   jlong longValue)
 {
   jvalue val;
   val.j = longValue;
Index: native/jni/java-lang/java_lang_VMFloat.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-lang/java_lang_VMFloat.c,v
retrieving revision 1.3
diff -u -r1.3 java_lang_VMFloat.c
--- native/jni/java-lang/java_lang_VMFloat.c    29 Mar 2004 07:07:27 -0000      
1.3
+++ native/jni/java-lang/java_lang_VMFloat.c    22 Oct 2004 10:43:01 -0000
@@ -1,5 +1,5 @@
 /* VMFloat.c - java.lang.VMFloat native functions
-   Copyright (C) 1998, 1999, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2003, 2004 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -46,7 +46,9 @@
  * Signature: (F)I
  */
 JNIEXPORT jint JNICALL Java_java_lang_VMFloat_floatToIntBits
-  (JNIEnv * env, jclass cls, jfloat value)
+  (JNIEnv * env __attribute__((__unused__)),
+   jclass cls __attribute__((__unused__)),
+   jfloat value)
 {
     jvalue u;
     jint e, f;
@@ -66,7 +68,9 @@
  * Signature: (F)I
  */
 JNIEXPORT jint JNICALL Java_java_lang_VMFloat_floatToRawIntBits
-  (JNIEnv * env, jclass cls, jfloat value)
+  (JNIEnv * env __attribute__((__unused__)),
+   jclass cls __attribute__((__unused__)),
+   jfloat value)
 {
   jvalue u;
   u.f = value;
@@ -79,7 +83,9 @@
  * Signature: (I)F
  */
 JNIEXPORT jfloat JNICALL Java_java_lang_VMFloat_intBitsToFloat
-  (JNIEnv * env, jclass cls, jint bits)
+  (JNIEnv * env __attribute__((__unused__)),
+   jclass cls __attribute__((__unused__)),
+   jint bits)
 {
     jvalue u;
     u.i = bits;
Index: native/jni/java-lang/java_lang_VMSystem.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-lang/java_lang_VMSystem.c,v
retrieving revision 1.7
diff -u -r1.7 java_lang_VMSystem.c
--- native/jni/java-lang/java_lang_VMSystem.c   28 Aug 2004 19:37:39 -0000      
1.7
+++ native/jni/java-lang/java_lang_VMSystem.c   22 Oct 2004 10:43:01 -0000
@@ -48,7 +48,9 @@
  * Signature: (Ljava/io/InputStream;)V
  */
 JNIEXPORT void JNICALL
-Java_java_lang_VMSystem_setIn (JNIEnv * env, jclass thisClass, jobject obj)
+Java_java_lang_VMSystem_setIn (JNIEnv * env,
+                              jclass thisClass __attribute__((__unused__)),
+                              jobject obj)
 {
   jclass cls;
   jfieldID field;
@@ -70,7 +72,9 @@
  * Signature: (Ljava/io/PrintStream;)V
  */
 JNIEXPORT void JNICALL
-Java_java_lang_VMSystem_setOut (JNIEnv * env, jclass thisClass, jobject obj)
+Java_java_lang_VMSystem_setOut (JNIEnv * env,
+                               jclass thisClass __attribute__((__unused__)),
+                               jobject obj)
 {
   jclass cls;
   jfieldID field;
@@ -92,7 +96,9 @@
  * Signature: (Ljava/io/PrintStream;)V
  */
 JNIEXPORT void JNICALL
-Java_java_lang_VMSystem_setErr (JNIEnv * env, jclass thisClass, jobject obj)
+Java_java_lang_VMSystem_setErr (JNIEnv * env,
+                               jclass thisClass __attribute__((__unused__)),
+                               jobject obj)
 {
   jclass cls;
   jfieldID field;
@@ -114,7 +120,9 @@
  * Signature: ()J
  */
 JNIEXPORT jlong JNICALL
-Java_java_lang_VMSystem_currentTimeMillis (JNIEnv * env, jclass thisClass)
+Java_java_lang_VMSystem_currentTimeMillis
+(JNIEnv * env __attribute__((__unused__)),
+ jclass thisClass __attribute__((__unused__)))
 {
   /* Note: this implementation copied directly from Japhar's, by Chris Toshok. 
*/
   jlong result;
@@ -131,7 +139,9 @@
 }
 
 JNIEXPORT jboolean JNICALL 
-Java_java_lang_VMSystem_isWordsBigEndian (JNIEnv *env, jclass clazz)
+Java_java_lang_VMSystem_isWordsBigEndian
+(JNIEnv *env __attribute__((__unused__)),
+ jclass clazz __attribute__((__unused__)))
 {
   /* Are we little or big endian?  From Harbison&Steele.  */
   union
@@ -145,7 +155,9 @@
 }
 
 JNIEXPORT jstring JNICALL
-Java_java_lang_VMSystem_getenv (JNIEnv *env, jclass klass, jstring jname)
+Java_java_lang_VMSystem_getenv (JNIEnv *env,
+                               jclass klass __attribute__((__unused__)),
+                               jstring jname)
 {
   const char *cname;
   const char *envname;
Index: native/jni/java-lang/java_lang_reflect_Array.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-lang/java_lang_reflect_Array.c,v
retrieving revision 1.5
diff -u -r1.5 java_lang_reflect_Array.c
--- native/jni/java-lang/java_lang_reflect_Array.c      30 Apr 2004 11:05:17 
-0000      1.5
+++ native/jni/java-lang/java_lang_reflect_Array.c      22 Oct 2004 10:43:01 
-0000
@@ -52,6 +52,9 @@
  * Signature: (Ljava/lang/Class;I)Ljava/lang/Object;
  */
 JNIEXPORT jobject JNICALL Java_java_lang_reflect_Array_createObjectArray
-  (JNIEnv * env, jclass thisClass, jclass arrayType, jint arrayLength) {
-       return (jobject)(*env)->NewObjectArray(env,arrayLength,arrayType,NULL);
+  (JNIEnv * env,
+   jclass thisClass __attribute__((__unused__)),
+   jclass arrayType, jint arrayLength)
+{
+  return (jobject)(*env)->NewObjectArray(env, arrayLength, arrayType, NULL);
 }
Index: native/jni/java-net/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-net/Makefile.am,v
retrieving revision 1.7
diff -u -r1.7 Makefile.am
--- native/jni/java-net/Makefile.am     21 May 2004 07:25:44 -0000      1.7
+++ native/jni/java-net/Makefile.am     22 Oct 2004 10:43:01 -0000
@@ -7,5 +7,8 @@
                        gnu_java_net_PlainDatagramSocketImpl.c \
                         gnu_java_net_PlainSocketImpl.c
 
-libjavanet_la_LDFLAGS = @CLASSPATH_MODULE@
 libjavanet_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo
+
+AM_LDFLAGS = @CLASSPATH_MODULE@
+AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
Index: native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c,v
retrieving revision 1.6
diff -u -r1.6 gnu_java_net_PlainDatagramSocketImpl.c
--- native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c  19 Jul 2004 
13:58:40 -0000      1.6
+++ native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c  22 Oct 2004 
10:43:01 -0000
@@ -161,7 +161,8 @@
                                               jobject packet)
 {
 #ifndef WITHOUT_NETWORK
-  unsigned int  addr, port, maxlen, offset, bytes_read;
+  int  addr, port, bytes_read;
+  unsigned int maxlen, offset;
   jclass        cls, addr_cls;
   jfieldID     fid;
   jmethodID     mid;
Index: native/jni/java-net/java_net_InetAddress.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-net/java_net_InetAddress.c,v
retrieving revision 1.9
diff -u -r1.9 java_net_InetAddress.c
--- native/jni/java-net/java_net_InetAddress.c  29 Mar 2004 07:07:39 -0000      
1.9
+++ native/jni/java-net/java_net_InetAddress.c  22 Oct 2004 10:43:01 -0000
@@ -61,7 +61,9 @@
  * Function to return the local hostname
  */
 JNIEXPORT jstring JNICALL
-Java_java_net_InetAddress_getLocalHostname(JNIEnv *env, jclass class)
+Java_java_net_InetAddress_getLocalHostname(JNIEnv *env,
+                                          jclass class
+                                          __attribute__ ((__unused__)))
 {
   char    hostname[256];
   int     result;
@@ -91,7 +93,9 @@
  * Returns the value of the special IP address INADDR_ANY 
  */
 JNIEXPORT jarray JNICALL
-Java_java_net_InetAddress_lookupInaddrAny(JNIEnv *env, jclass class)
+Java_java_net_InetAddress_lookupInaddrAny(JNIEnv *env,
+                                         jclass class
+                                         __attribute__ ((__unused__)))
 {
   jarray IParray; 
   jbyte  *octets;
@@ -135,7 +139,10 @@
  * in as a byte array
  */
 JNIEXPORT jstring JNICALL
-Java_java_net_InetAddress_getHostByAddr(JNIEnv *env, jclass class, jarray arr)
+Java_java_net_InetAddress_getHostByAddr(JNIEnv *env,
+                                       jclass class
+                                       __attribute__ ((__unused__)),
+                                       jarray arr)
 {
 #ifndef WITHOUT_NETWORK
   jbyte   *octets;
@@ -193,7 +200,10 @@
 /*************************************************************************/
 
 JNIEXPORT jobjectArray JNICALL
-Java_java_net_InetAddress_getHostByName(JNIEnv *env, jclass class, jstring 
host)
+Java_java_net_InetAddress_getHostByName(JNIEnv *env,
+                                       jclass class
+                                       __attribute__ ((__unused__)),
+                                       jstring host)
 {
 #ifndef WITHOUT_NETWORK
   const char     *hostname;
@@ -206,6 +216,7 @@
   int            i;
   jbyte          *octets;
   jarray         ret_octets;
+  int            max_addresses;
 
   assert(env!=NULL);
   assert((*env)!=NULL);
@@ -218,13 +229,12 @@
       return (jobjectArray)NULL;
     }
 
-  /* Look up the host */
+  max_addresses = sizeof(addresses) / sizeof(addresses[0]);
   TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME(hostname,
                                              addresses,
-                                             
sizeof(addresses)/sizeof(addresses[0]),
+                                             max_addresses,
                                              addresses_count,
-                                             result
-                                            );
+                                             result);
   if (result != TARGET_NATIVE_OK)
     {
       JCL_ThrowException(env, UNKNOWN_HOST_EXCEPTION, (char*)hostname);
Index: native/jni/java-net/java_net_NetworkInterface.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-net/java_net_NetworkInterface.c,v
retrieving revision 1.5
diff -u -r1.5 java_net_NetworkInterface.c
--- native/jni/java-net/java_net_NetworkInterface.c     29 Mar 2004 07:07:39 
-0000      1.5
+++ native/jni/java-net/java_net_NetworkInterface.c     22 Oct 2004 10:43:01 
-0000
@@ -54,7 +54,9 @@
  * Returns all local network interfaces as vector
  */
 JNIEXPORT jobject JNICALL
-Java_java_net_NetworkInterface_getRealNetworkInterfaces (JNIEnv* env, jclass 
class)
+Java_java_net_NetworkInterface_getRealNetworkInterfaces (JNIEnv* env,
+                                                        jclass class
+                                                 __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.net.NetworkInterface.getRealNetworkInterfaces(): not implemented");
   return 0;
Index: native/jni/java-net/javanet.c
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-net/javanet.c,v
retrieving revision 1.18
diff -u -r1.18 javanet.c
--- native/jni/java-net/javanet.c       25 Apr 2004 16:19:35 -0000      1.18
+++ native/jni/java-net/javanet.c       22 Oct 2004 10:43:01 -0000
@@ -71,7 +71,8 @@
  * Sets an integer field in the specified object.
  */
 static void
-_javanet_set_int_field(JNIEnv *env, jobject obj, char *class, char *field, 
+_javanet_set_int_field(JNIEnv *env, jobject obj,
+                      const char *class, const char *field, 
                        int val)
 {
   jclass   cls;
@@ -789,7 +790,7 @@
     }
 
   /* Accept the connection */
-  while (result != TARGET_NATIVE_OK)
+  do
     {
       TARGET_NATIVE_NETWORK_SOCKET_ACCEPT(fd,newfd,result);
       if (result != TARGET_NATIVE_OK
@@ -801,6 +802,7 @@
          return;
        }
     }
+  while (result != TARGET_NATIVE_OK);
 
   /* Populate instance variables */ 
   _javanet_set_int_field(env, impl, "gnu/java/net/PlainSocketImpl", 
"native_fd",
Index: native/jni/java-nio/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-nio/Makefile.am,v
retrieving revision 1.12
diff -u -r1.12 Makefile.am
--- native/jni/java-nio/Makefile.am     31 Jul 2004 16:07:21 -0000      1.12
+++ native/jni/java-nio/Makefile.am     22 Oct 2004 10:43:01 -0000
@@ -8,5 +8,8 @@
                        java_nio_MappedByteBufferImpl.c \
                        java_nio_channels_Channels.c
 
-libjavanio_la_LDFLAGS = @CLASSPATH_MODULE@
 libjavanio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo
+
+AM_LDFLAGS = @CLASSPATH_MODULE@
+AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
Index: native/jni/java-nio/gnu_java_nio_NIOServerSocket.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-nio/gnu_java_nio_NIOServerSocket.c,v
retrieving revision 1.4
diff -u -r1.4 gnu_java_nio_NIOServerSocket.c
--- native/jni/java-nio/gnu_java_nio_NIOServerSocket.c  29 Apr 2004 06:42:15 
-0000      1.4
+++ native/jni/java-nio/gnu_java_nio_NIOServerSocket.c  22 Oct 2004 10:43:01 
-0000
@@ -46,7 +46,9 @@
 #define IO_EXCEPTION "java/io/IOException"
 
 JNIEXPORT jobject JNICALL
-Java_gnu_java_nio_NIOServerSocket_getPlainSocketImpl (JNIEnv *env, jclass 
class)
+Java_gnu_java_nio_NIOServerSocket_getPlainSocketImpl (JNIEnv *env,
+                                                     jclass class
+                                                __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"gnu.java.nio.NIOServerSocket.getPlainSocketImpl(): not implemented");
   return NULL;
Index: native/jni/java-nio/gnu_java_nio_VMPipe.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-nio/gnu_java_nio_VMPipe.c,v
retrieving revision 1.1
diff -u -r1.1 gnu_java_nio_VMPipe.c
--- native/jni/java-nio/gnu_java_nio_VMPipe.c   21 Jul 2004 20:35:30 -0000      
1.1
+++ native/jni/java-nio/gnu_java_nio_VMPipe.c   22 Oct 2004 10:43:01 -0000
@@ -46,9 +46,10 @@
 #define IO_EXCEPTION "java/io/IOException"
 
 JNIEXPORT void JNICALL
-Java_gnu_java_nio_VMPipe_init (JNIEnv *env, jclass cls,
-                                       jobject self,
-                                      jobject provider)
+Java_gnu_java_nio_VMPipe_init (JNIEnv *env,
+                              jclass cls __attribute__ ((__unused__)),
+                              jobject self __attribute__ ((__unused__)),
+                              jobject provider __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, "gnu.java.nio.VMPipe.init(): not 
implemented");
 }
Index: native/jni/java-nio/gnu_java_nio_VMSelector.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-nio/gnu_java_nio_VMSelector.c,v
retrieving revision 1.1
diff -u -r1.1 gnu_java_nio_VMSelector.c
--- native/jni/java-nio/gnu_java_nio_VMSelector.c       31 Jul 2004 16:07:21 
-0000      1.1
+++ native/jni/java-nio/gnu_java_nio_VMSelector.c       22 Oct 2004 10:43:01 
-0000
@@ -46,9 +46,16 @@
 #define IO_EXCEPTION "java/io/IOException"
 
 JNIEXPORT jint JNICALL
-Java_gnu_java_nio_VMSelector_select (JNIEnv *env, jclass obj,
-                                          jintArray read, jintArray write,
-                                          jintArray except, jlong timeout)
+Java_gnu_java_nio_VMSelector_select (JNIEnv *env,
+                                    jclass obj __attribute__ ((__unused__)),
+                                    jintArray read
+                                    __attribute__ ((__unused__)),
+                                    jintArray write
+                                    __attribute__ ((__unused__)),
+                                    jintArray except
+                                    __attribute__ ((__unused__)),
+                                    jlong timeout
+                                    __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, "gnu.java.nio.VMSelector.select(): 
not implemented");
   return 0;
Index: native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c,v
retrieving revision 1.12
diff -u -r1.12 gnu_java_nio_channels_FileChannelImpl.c
--- native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c 4 Jul 2004 
20:56:40 -0000       1.12
+++ native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c 22 Oct 2004 
10:43:01 -0000
@@ -152,7 +152,10 @@
  * Open the specified file and return a native file descriptor
  */
 JNIEXPORT jint JNICALL
-Java_gnu_java_nio_channels_FileChannelImpl_open (JNIEnv *env, jobject obj, 
jstring name, jint mode)
+Java_gnu_java_nio_channels_FileChannelImpl_open (JNIEnv *env,
+                                                jobject obj
+                                                __attribute__ ((__unused__)),
+                                                jstring name, jint mode)
 {
   const char *filename;
   int        flags;
@@ -483,7 +486,15 @@
 }
 
 JNIEXPORT jobject JNICALL
-Java_gnu_java_nio_channels_FileChannelImpl_mapImpl (JNIEnv *env, jobject obj, 
jchar mode, jlong position, jint size)
+Java_gnu_java_nio_channels_FileChannelImpl_mapImpl(JNIEnv *env,
+                                                jobject obj
+                                                __attribute__ ((__unused__)),
+                                                jchar mode
+                                                __attribute__ ((__unused__)),
+                                                jlong position
+                                                __attribute__ ((__unused__)),
+                                                jint size
+                                                __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.FileChannelImpl.nio_mmap_file(): not implemented");
   return 0;
@@ -651,14 +662,30 @@
 }
 
 JNIEXPORT jboolean JNICALL
-Java_gnu_java_nio_channels_FileChannelImpl_lock (JNIEnv *env, jobject obj, 
jlong position, jlong size, jboolean shared, jboolean wait)
+Java_gnu_java_nio_channels_FileChannelImpl_lock(JNIEnv *env,
+                                               jobject obj
+                                               __attribute__ ((__unused__)),
+                                               jlong position
+                                               __attribute__ ((__unused__)),
+                                               jlong size
+                                               __attribute__ ((__unused__)),
+                                               jboolean shared
+                                               __attribute__ ((__unused__)),
+                                               jboolean wait
+                                               __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, "java.nio.FileChannelImpl.lock(): not 
implemented");
   return 0;
 }
 
 JNIEXPORT void JNICALL
-Java_gnu_java_nio_channels_FileChannelImpl_unlock (JNIEnv *env, jobject obj, 
jlong position, jlong length)
+Java_gnu_java_nio_channels_FileChannelImpl_unlock(JNIEnv *env,
+                                                 jobject obj
+                                                 __attribute__ ((__unused__)),
+                                                 jlong position
+                                                 __attribute__ ((__unused__)),
+                                                 jlong length
+                                                 __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, "java.nio.FileChannelImpl.unlock(): 
not implemented");
 }
Index: native/jni/java-nio/java_nio_DirectByteBufferImpl.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-nio/java_nio_DirectByteBufferImpl.c,v
retrieving revision 1.8
diff -u -r1.8 java_nio_DirectByteBufferImpl.c
--- native/jni/java-nio/java_nio_DirectByteBufferImpl.c 29 Apr 2004 06:42:15 
-0000      1.8
+++ native/jni/java-nio/java_nio_DirectByteBufferImpl.c 22 Oct 2004 10:43:01 
-0000
@@ -46,47 +46,82 @@
 #define IO_EXCEPTION "java/io/IOException"
 
 JNIEXPORT jobject JNICALL
-Java_java_nio_DirectByteBufferImpl_allocateImpl (JNIEnv *env, jclass class, 
jint size)
+Java_java_nio_DirectByteBufferImpl_allocateImpl (JNIEnv *env, 
+                                                jclass class
+                                                __attribute__ ((__unused__)),
+                                                jint size
+                                                __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.DirectByteBufferImpl.allocateImpl(): not implemented");
   return 0;
 }
 
 JNIEXPORT void JNICALL
-Java_java_nio_DirectByteBufferImpl_freeImpl (JNIEnv *env, jclass class, 
jobject address)
+Java_java_nio_DirectByteBufferImpl_freeImpl (JNIEnv *env,
+                                            jclass class
+                                            __attribute__ ((__unused__)),
+                                            jobject address
+                                            __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.DirectByteBufferImpl.freeImpl(): not implemented");
 }
 
 JNIEXPORT jbyte JNICALL
 Java_java_nio_DirectByteBufferImpl_getImpl__Lgnu_classpath_RawData_2I
-  (JNIEnv *env, jclass clazz, jobject address, jint index)
+  (JNIEnv *env,
+   jclass clazz __attribute__ ((__unused__)),
+   jobject address __attribute__ ((__unused__)),
+   jint index __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.DirectByteBufferImpl.getImpl(): not implemented");
   return 0;
 }
 
 JNIEXPORT void JNICALL
-Java_java_nio_DirectByteBufferImpl_putImpl (JNIEnv *env, jclass class, jobject 
address, jint index, jbyte value)
+Java_java_nio_DirectByteBufferImpl_putImpl (JNIEnv *env,
+                                           jclass class
+                                           __attribute__ ((__unused__)),
+                                           jobject address
+                                           __attribute__ ((__unused__)),
+                                           jint index
+                                           __attribute__ ((__unused__)),
+                                           jbyte value
+                                           __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.DirectByteBufferImpl.putImpl(): not implemented");
 }
 
 JNIEXPORT void JNICALL
 Java_java_nio_DirectByteBufferImpl_getImpl__Lgnu_classpath_RawData_2I_3BII
-  (JNIEnv *env, jclass clazz, jobject address, jint index, jbyteArray 
dst_buffer, jint dst_offset, jint dst_len)
+  (JNIEnv *env,
+   jclass clazz __attribute__ ((__unused__)),
+   jobject address __attribute__ ((__unused__)),
+   jint index __attribute__ ((__unused__)),
+   jbyteArray dst_buffer __attribute__ ((__unused__)),
+   jint dst_offset __attribute__ ((__unused__)),
+   jint dst_len __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.DirectByteBufferImpl.getImpl(): not implemented");
 }
 
 JNIEXPORT void JNICALL
-Java_java_nio_DirectByteBufferImpl_shiftDown (JNIEnv *env, jclass clazz, 
jobject address, jint dst_offset, jint src_offset, jint count)
+Java_java_nio_DirectByteBufferImpl_shiftDown
+  (JNIEnv *env,
+   jclass clazz __attribute__ ((__unused__)),
+   jobject address __attribute__ ((__unused__)),
+   jint dst_offset __attribute__ ((__unused__)),
+   jint src_offset __attribute__ ((__unused__)),
+   jint count __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.DirectByteBufferImpl.shiftDown(): not implemented");
 }
 
 JNIEXPORT jobject JNICALL
-Java_java_nio_DirectByteBufferImpl_adjustAddress (JNIEnv *env, jclass class, 
jobject address, jint offset)
+Java_java_nio_DirectByteBufferImpl_adjustAddress
+  (JNIEnv *env,
+   jclass class __attribute__ ((__unused__)),
+   jobject address __attribute__ ((__unused__)),
+   jint offset __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.DirectByteBufferImpl.adjustAddress(): not implemented");
   return NULL;
Index: native/jni/java-nio/java_nio_MappedByteBufferImpl.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-nio/java_nio_MappedByteBufferImpl.c,v
retrieving revision 1.1
diff -u -r1.1 java_nio_MappedByteBufferImpl.c
--- native/jni/java-nio/java_nio_MappedByteBufferImpl.c 29 Apr 2004 14:37:06 
-0000      1.1
+++ native/jni/java-nio/java_nio_MappedByteBufferImpl.c 22 Oct 2004 10:43:01 
-0000
@@ -46,26 +46,34 @@
 #define IO_EXCEPTION "java/io/IOException"
 
 JNIEXPORT void JNICALL
-Java_java_nio_MappedByteBufferImpl_unmapImpl (JNIEnv *env, jclass class)
+Java_java_nio_MappedByteBufferImpl_unmapImpl (JNIEnv *env,
+                                             jclass class
+                                             __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.MappedByteBufferImpl.unmapImpl(): not implemented");
 }
 
 JNIEXPORT jboolean JNICALL
-Java_java_nio_MappedByteBufferImpl_isLoadedImpl (JNIEnv *env, jclass class)
+Java_java_nio_MappedByteBufferImpl_isLoadedImpl (JNIEnv *env,
+                                                jclass class
+                                                __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.MappedByteBufferImpl.isLoadedImpl(): not implemented");
   return 0;
 }
 
 JNIEXPORT void JNICALL
-Java_java_nio_MappedByteBufferImpl_loadImpl (JNIEnv *env, jclass clazz)
+Java_java_nio_MappedByteBufferImpl_loadImpl (JNIEnv *env,
+                                            jclass clazz
+                                            __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.MappedByteBufferImpl.loadImpl(): not implemented");
 }
 
 JNIEXPORT void JNICALL
-Java_java_nio_MappedByteBufferImpl_forceImpl (JNIEnv *env, jclass class)
+Java_java_nio_MappedByteBufferImpl_forceImpl (JNIEnv *env,
+                                             jclass class
+                                             __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.MappedByteBufferImpl.forceImpl(): not implemented");
 }
Index: native/jni/java-nio/java_nio_channels_Channels.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-nio/java_nio_channels_Channels.c,v
retrieving revision 1.1
diff -u -r1.1 java_nio_channels_Channels.c
--- native/jni/java-nio/java_nio_channels_Channels.c    30 Apr 2004 08:29:46 
-0000      1.1
+++ native/jni/java-nio/java_nio_channels_Channels.c    22 Oct 2004 10:43:01 
-0000
@@ -46,14 +46,22 @@
 #define IO_EXCEPTION "java/io/IOException"
 
 JNIEXPORT jobject JNICALL
-Java_java_nio_channels_Channels_newInputStream (JNIEnv *env, jclass cls, 
jobject filechannel)
+Java_java_nio_channels_Channels_newInputStream (JNIEnv *env,
+                                               jclass cls
+                                               __attribute__ ((__unused__)),
+                                               jobject filechannel
+                                               __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.channels.Channels.newInputStream(): not implemented");
   return NULL;
 }
 
 JNIEXPORT jobject JNICALL
-Java_java_nio_channels_Channels_newOutputStream (JNIEnv *env, jclass cls, 
jobject filechannel)
+Java_java_nio_channels_Channels_newOutputStream (JNIEnv *env,
+                                                jclass cls
+                                                __attribute__ ((__unused__)),
+                                                jobject filechannel
+                                                __attribute__ ((__unused__)))
 {
   JCL_ThrowException (env, IO_EXCEPTION, 
"java.nio.channels.Channels.newOutputStream(): not implemented");
   return NULL;
Index: native/jni/java-util/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-util/Makefile.am,v
retrieving revision 1.6
diff -u -r1.6 Makefile.am
--- native/jni/java-util/Makefile.am    31 Aug 2004 21:06:48 -0000      1.6
+++ native/jni/java-util/Makefile.am    22 Oct 2004 10:43:01 -0000
@@ -2,4 +2,6 @@
 
 libjavautil_la_SOURCES = java_util_VMTimeZone.c
 
-libjavautil_la_LDFLAGS = @CLASSPATH_MODULE@
+AM_LDFLAGS = @CLASSPATH_MODULE@
+AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
Index: native/jni/java-util/java_util_VMTimeZone.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/java-util/java_util_VMTimeZone.c,v
retrieving revision 1.1
diff -u -r1.1 java_util_VMTimeZone.c
--- native/jni/java-util/java_util_VMTimeZone.c 31 Aug 2004 21:06:48 -0000      
1.1
+++ native/jni/java-util/java_util_VMTimeZone.c 22 Oct 2004 10:43:01 -0000
@@ -56,7 +56,7 @@
 
 #include "java_util_VMTimeZone.h"
 
-size_t jint_to_charbuf (char* bufend, jint num);
+static size_t jint_to_charbuf (char* bufend, jint num);
 
 /**
  * This method returns a time zone id string which is in the form
@@ -75,7 +75,9 @@
  * TimeZone object.
  */
 JNIEXPORT jstring JNICALL
-Java_java_util_VMTimeZone_getSystemTimeZoneId(JNIEnv *env, jclass clazz)
+Java_java_util_VMTimeZone_getSystemTimeZoneId(JNIEnv *env,
+                                             jclass clazz
+                                             __attribute__ ((__unused__)))
 {
   struct tm tim;
 #ifndef HAVE_LOCALTIME_R
@@ -147,7 +149,8 @@
      to get GMT. */
   tzoffset = -1L * tim.tm_gmtoff;
 #elif HAVE_UNDERSCORE_TIMEZONE
-  tzoffset = _timezone;
+  /* On some systems _timezone is actually defined as time_t. */
+  tzoffset = (long) _timezone;
 #elif HAVE_TIMEZONE
   /* timezone is secs WEST of UTC. */
   tzoffset = timezone; 
Index: native/target/generic/target_generic_network.h
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/target/generic/target_generic_network.h,v
retrieving revision 1.11
diff -u -r1.11 target_generic_network.h
--- native/target/generic/target_generic_network.h      9 Apr 2004 14:04:50 
-0000       1.11
+++ native/target/generic/target_generic_network.h      22 Oct 2004 10:43:01 
-0000
@@ -53,7 +53,6 @@
 #include "config.h"
 
 #include <stdlib.h>
-#include <assert.h>
 
 #include "target_native.h"
 
@@ -412,7 +411,6 @@
       result=(getsockname(socketDescriptor,(struct 
sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__socketAddressLength>=sizeof(__socketAddress)); \
         localAddress=ntohl(__socketAddress.sin_addr.s_addr); \
         localPort   =ntohs(__socketAddress.sin_port); \
       } \
@@ -447,7 +445,6 @@
       result=(getpeername(socketDescriptor,(struct 
sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__socketAddressLength>=sizeof(__socketAddress)); \
         remoteAddress=ntohl(__socketAddress.sin_addr.s_addr); \
         remotePort   =ntohs(__socketAddress.sin_port); \
       } \
@@ -936,7 +933,6 @@
       
result=(getsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         flag=__value; \
       } \
     } while (0)
@@ -970,7 +966,6 @@
       
result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__linger)); \
         flag =__linger.l_onoff; \
         value=__linger.l_linger; \
       } \
@@ -1003,7 +998,6 @@
       
result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_TIMEOUT,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         flag=__value; \
       } \
     } while (0)
@@ -1035,7 +1029,6 @@
       
result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         size=__value; \
       } \
     } while (0)
@@ -1067,7 +1060,6 @@
       
result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         size=__value; \
       } \
     } while (0)
@@ -1100,7 +1092,6 @@
       
result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         flag=__value; \
       } \
     } while (0)
@@ -1136,7 +1127,6 @@
       
result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__socketAddressLength>=sizeof(__socketAddress)); \
         address=ntohl(__socketAddress.sin_addr.s_addr); \
       } \
     } while (0)
@@ -1170,7 +1160,6 @@
       result=(getsockname(socketDescriptor,(struct 
sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__socketAddressLength>=sizeof(__socketAddress)); \
         address=ntohl(__socketAddress.sin_addr.s_addr); \
       } \
     } while (0)
@@ -1203,7 +1192,6 @@
       
result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         flag=__value; \
       } \
     } while (0)
@@ -1236,7 +1224,6 @@
       
result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         flag=__value; \
       } \
     } while (0)
@@ -1269,7 +1256,6 @@
       
result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR;
 \
       if (result==TARGET_NATIVE_OK) \
       { \
-        assert(__len>=sizeof(__value)); \
         flag=__value; \
       } \
     } while (0)

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]