[kaffe] CVS kaffe (dalibor): Fixed some compiler warnings with -pedantic

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Sun Nov 2 21:32:02 2003


PatchSet 4154 
Date: 2003/11/03 05:29:28
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
Fixed some compiler warnings with -pedantic

Members: 
	ChangeLog:1.1746->1.1747 
	include/jni.h:1.23->1.24 
	include/jvmpi.h:1.3->1.4 
	kaffe/kaffeh/support.c:1.32->1.33 
	kaffe/kaffevm/access.h:1.8->1.9 
	kaffe/kaffevm/classMethod.c:1.112->1.113 
	kaffe/kaffevm/classMethod.h:1.61->1.62 
	kaffe/kaffevm/constants.h:1.7->1.8 
	kaffe/kaffevm/jni.c:1.96->1.97 
	kaffe/kaffevm/stringParsing.h:1.1->1.2 
	kaffe/kaffevm/verify.c:1.28->1.29 
	kaffe/kaffevm/verify.h:1.5->1.6 
	kaffe/kaffevm/intrp/machine.c:1.33->1.34 
	kaffe/kaffevm/systems/unix-jthreads/jthread.c:1.102->1.103 
	libraries/clib/io/FileDescriptor.c:1.8->1.9 
	libraries/clib/native/ClassLoader.c:1.36->1.37 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1746 kaffe/ChangeLog:1.1747
--- kaffe/ChangeLog:1.1746	Mon Nov  3 04:25:47 2003
+++ kaffe/ChangeLog	Mon Nov  3 05:29:28 2003
@@ -1,3 +1,24 @@
+2003-11-03  Dalibor Topic  <robilad@kaffe.org>
+
+	* include/jni.h,
+	kaffe/kaffevm/constants.h,
+	kaffe/kaffevm/classMethod.c,
+	kaffe/kaffevm/jni.c,
+	kaffe/kaffevm/intrp/machine.c,
+	kaffe/kaffevm/systems/unix-jthreads/jthread.c,
+	kaffe/kaffevm/verify.h,
+	kaffe/kaffevm/verify.c,
+	kaffe/kaffeh/support.c,
+	libraries/clib/io/FileDescriptor.c,
+	libraries/clib/native/ClassLoader.c:
+	Changed C++ comments to C comments to fix -pedantic warnings.
+
+	* kaffe/kaffevm/access.h,
+	kaffe/kaffevm/classMethod.c,
+	kaffe/kaffevm/stringParsing.h,
+	include/jvmpi.h:
+	Removed comma at end of enumerator list.
+	
 2003-11-03  Dalibor Topic <robilad@kaffe.org>
 
 	Fixed build with kjc.
Index: kaffe/include/jni.h
diff -u kaffe/include/jni.h:1.23 kaffe/include/jni.h:1.24
--- kaffe/include/jni.h:1.23	Sat Oct 25 12:52:39 2003
+++ kaffe/include/jni.h	Mon Nov  3 05:29:29 2003
@@ -76,26 +76,26 @@
 	jint	(*GetVersion)			(JNIEnv*);
 	jclass	(*DefineClass)			(JNIEnv*, jobject, const jbyte*, jsize);
 	jclass	(*FindClass)			(JNIEnv*, const char*);
-	void*	reserved4; // FromReflectedMethod
-	void*	reserved5; // FromReflectedField
-	void*	reserved6; // ToReflectedMethod
+        void*	reserved4; /* FromReflectedMethod */
+        void*	reserved5; /* FromReflectedField */
+        void*	reserved6; /* ToReflectedMethod */
 	jclass	(*GetSuperclass)		(JNIEnv*, jclass);
 	jboolean	(*IsAssignableFrom)		(JNIEnv*, jclass, jclass);
-	void*	reserved7; // ToReflectedField
+        void*	reserved7; /* ToReflectedField */
 	jint	(*Throw)			(JNIEnv*, jobject);
 	jint	(*ThrowNew)			(JNIEnv*, jclass, const char*);
 	jthrowable (*ExceptionOccurred)		(JNIEnv*);
 	void	(*ExceptionDescribe)		(JNIEnv*);
 	void	(*ExceptionClear)		(JNIEnv*);
 	void	(*FatalError)			(JNIEnv*, const char*);
-	void*	reserved8; // PushLocalFrame
-	void*	reserved9; // PopLocalFrame
+        void*	reserved8; /* PushLocalFrame */
+        void*	reserved9; /* PopLocalFrame */
 	jref	(*NewGlobalRef)			(JNIEnv*, jref);
 	void	(*DeleteGlobalRef)		(JNIEnv*, jref);
 	void	(*DeleteLocalRef)		(JNIEnv*, jref);
 	jboolean	(*IsSameObject)			(JNIEnv*, jobject, jobject);
-	void*	reserved10; // NewLocalRef
-	void*	reserved11; // EnsureLocalCapacity
+        void*	reserved10; /* NewLocalRef */
+        void*	reserved11; /* EnsureLocalCapacity */
 	jobject	(*AllocObject)			(JNIEnv*, jclass);
 	jobject	(*NewObject)			(JNIEnv*, jclass, jmethodID, ...);
 	jobject	(*NewObjectV)			(JNIEnv*, jclass, jmethodID, va_list);
@@ -290,23 +290,23 @@
 	jint	(*MonitorExit)			(JNIEnv*, jobject);
 	jint	(*GetJavaVM)			(JNIEnv*, JavaVM**);
 
-	// New JNI 1.2 functions
+        /* New JNI 1.2 functions */
 	
-	void* reserved12; // GetStringRegion
-	void* reserved13; // GetStringUTFRegion
-	void* reserved14; // GetPrimitiveArrayCritical
-	void* reserved15; // ReleasePromitiveArrayCritical
-	void* reserved16; // GetStringCritical
-	void* reserved17; // ReleaseStringCritical
-	void* reserved18; // NewWeakGlobalRef
-	void* reserved19; // DeleteWeakGlobalRef
+        void* reserved12; /* GetStringRegion */
+        void* reserved13; /* GetStringUTFRegion */
+        void* reserved14; /* GetPrimitiveArrayCritical */
+        void* reserved15; /* ReleasePromitiveArrayCritical */
+        void* reserved16; /* GetStringCritical */
+        void* reserved17; /* ReleaseStringCritical */
+        void* reserved18; /* NewWeakGlobalRef */
+        void* reserved19; /* DeleteWeakGlobalRef */
 	jboolean	(*ExceptionCheck)	(JNIEnv*);
 
-	// New JNI 1.4 functions
+        /* New JNI 1.4 functions */
 	
-	void* reserved20; // NewDirectByteBuffer
-	void* reserved21; // GetDirectBufferAddress
-	void* reserved22; // GetDirectBufferCapacity
+        void* reserved20; /* NewDirectByteBuffer */
+        void* reserved21; /* GetDirectBufferAddress */
+        void* reserved22; /* GetDirectBufferCapacity */
 };
 
 struct JavaVMAttachArgs {
@@ -327,7 +327,7 @@
 	jint	(*AttachCurrentThread)		(JavaVM*, void**, ThreadAttachArgs*);
 	jint	(*DetachCurrentThread)		(JavaVM*);
 	jint	(*GetEnv)			(JavaVM*, void**, jint);
-	void*	reserved3; // AttachCurrentThreadAsDaemon
+        void*	reserved3; /* AttachCurrentThreadAsDaemon */
 };
 
 struct JNIEnv_ {
Index: kaffe/include/jvmpi.h
diff -u kaffe/include/jvmpi.h:1.3 kaffe/include/jvmpi.h:1.4
--- kaffe/include/jvmpi.h:1.3	Sat Oct 11 20:45:48 2003
+++ kaffe/include/jvmpi.h	Mon Nov  3 05:29:30 2003
@@ -9,24 +9,24 @@
 enum {
 	JVMPI_FAIL = -1,
 	JVMPI_SUCCESS,
-	JVMPI_NOT_AVAILABLE,
+	JVMPI_NOT_AVAILABLE
 };
 
 enum {
 	JVMPI_THREAD_RUNNABLE = 1,
 	JVMPI_THREAD_MONITOR_WAIT,
-	JVMPI_THREAD_CONDVAR_WAIT,
+	JVMPI_THREAD_CONDVAR_WAIT
 };
 
 enum {
 	JVMPI_THREAD_INTERRUPTED = 0x4000,
-	JVMPI_THREAD_SUSPENDED = 0x8000,
+	JVMPI_THREAD_SUSPENDED = 0x8000
 };
 
 enum {
 	JVMPI_MINIMUM_PRIORITY = 1,
 	JVMPI_NORMAL_PRIORITY = 5,
-	JVMPI_MAXIMUM_PRIORITY = 10,
+	JVMPI_MAXIMUM_PRIORITY = 10
 };
 
 enum {
@@ -90,7 +90,7 @@
 enum {
 	JVMPI_DUMP_LEVEL_0,
 	JVMPI_DUMP_LEVEL_1,
-	JVMPI_DUMP_LEVEL_2,
+	JVMPI_DUMP_LEVEL_2
 };
 
 enum {
@@ -103,7 +103,7 @@
 	JVMPI_BYTE = 8,
 	JVMPI_SHORT = 9,
 	JVMPI_INT = 10,
-	JVMPI_LONG = 11,
+	JVMPI_LONG = 11
 };
 
 enum {
@@ -121,12 +121,12 @@
 	JVMPI_GC_OBJ_ARRAY_DUMP,
 	JVMPI_GC_PRIM_ARRAY_DUMP,
 	
-	JVMPI_GC_ROOT_UNKNOWN = 0xff,
+	JVMPI_GC_ROOT_UNKNOWN = 0xff
 };
 
 enum {
 	JVMPI_MONITOR_JAVA = 1,
-	JVMPI_MONITOR_RAW,
+	JVMPI_MONITOR_RAW
 };
 
 typedef struct {
Index: kaffe/kaffe/kaffeh/support.c
diff -u kaffe/kaffe/kaffeh/support.c:1.32 kaffe/kaffe/kaffeh/support.c:1.33
--- kaffe/kaffe/kaffeh/support.c:1.32	Wed Sep 24 17:50:23 2003
+++ kaffe/kaffe/kaffeh/support.c	Mon Nov  3 05:29:30 2003
@@ -876,7 +876,7 @@
 			classFileInit(&hand, buf, sbuf.st_size, CP_DIR);
 
 			objectDepth++;
-			//savepool = constant_pool;
+			/* savepool = constant_pool; */
 
 			memset(&tmpClass, 0, sizeof(tmpClass));
 			readClass(&tmpClass, &hand, NULL, &einfo);
@@ -915,12 +915,12 @@
 			classFileInit(&hand, buf, jentry->uncompressedSize, CP_ZIPFILE);
 
 			objectDepth++;
-			//savepool = constant_pool;
+			/* savepool = constant_pool; */
 
 			memset(&tmpClass, 0, sizeof(tmpClass));
 			readClass(&tmpClass, &hand, NULL, &einfo);
 
-			//constant_pool = savepool;
+			/* constant_pool = savepool; */
 			objectDepth--;
 
 			hand.type = CP_INVALID;
Index: kaffe/kaffe/kaffevm/access.h
diff -u kaffe/kaffe/kaffevm/access.h:1.8 kaffe/kaffe/kaffevm/access.h:1.9
--- kaffe/kaffe/kaffevm/access.h:1.8	Sun Aug 31 22:09:01 2003
+++ kaffe/kaffe/kaffevm/access.h	Mon Nov  3 05:29:31 2003
@@ -46,7 +46,7 @@
 	ACC_TYPE_METHOD,
 	ACC_TYPE_INTERFACE_METHOD,
 	ACC_TYPE_FIELD,
-	ACC_TYPE_INTERFACE_FIELD,
+	ACC_TYPE_INTERFACE_FIELD
 } access_type_t;
 
 struct Hjava_lang_Class;
Index: kaffe/kaffe/kaffevm/classMethod.c
diff -u kaffe/kaffe/kaffevm/classMethod.c:1.112 kaffe/kaffe/kaffevm/classMethod.c:1.113
--- kaffe/kaffe/kaffevm/classMethod.c:1.112	Sat Oct 11 20:45:49 2003
+++ kaffe/kaffe/kaffevm/classMethod.c	Mon Nov  3 05:29:31 2003
@@ -160,7 +160,7 @@
 				     JAVA_LANG(NoClassDefFoundError),
 				     "%s",
 				     class->name->data);
-		einfo->type |= KERR_NO_CLASS_FOUND; // for the verifier
+		einfo->type |= KERR_NO_CLASS_FOUND; /* for the verifier */
 		success = false;
 		goto done;
 	}
Index: kaffe/kaffe/kaffevm/classMethod.h
diff -u kaffe/kaffe/kaffevm/classMethod.h:1.61 kaffe/kaffe/kaffevm/classMethod.h:1.62
--- kaffe/kaffe/kaffevm/classMethod.h:1.61	Sun Aug 31 22:09:01 2003
+++ kaffe/kaffe/kaffevm/classMethod.h	Mon Nov  3 05:29:31 2003
@@ -38,7 +38,7 @@
 	CSTATE_DOING_SUPER,
 	CSTATE_USABLE,
 	CSTATE_DOING_INIT,
-	CSTATE_COMPLETE,
+	CSTATE_COMPLETE
 } class_state_t;
 
 struct _classEntry;
@@ -192,7 +192,7 @@
 	NMS_SEARCHING,
 	NMS_LOADING,
 	NMS_LOADED,
-	NMS_DONE,
+	NMS_DONE
 } name_mapping_state_t;
 
 /*
Index: kaffe/kaffe/kaffevm/constants.h
diff -u kaffe/kaffe/kaffevm/constants.h:1.7 kaffe/kaffe/kaffevm/constants.h:1.8
--- kaffe/kaffe/kaffevm/constants.h:1.7	Wed Jul  9 20:22:17 2003
+++ kaffe/kaffe/kaffevm/constants.h	Mon Nov  3 05:29:31 2003
@@ -1,5 +1,5 @@
 /*
- * constants.h
+ * cnstants.h
  * Manage constants.
  *
  * Copyright (c) 1996, 1997
@@ -59,7 +59,7 @@
 #define CLASS_NAME(idx, pool)                           ((uint16)pool->data[idx])
 #define CONST_STRING_NAME(idx, pool)                    CLASS_NAME(idx, pool)
 
-// the actual character string pointed to by the data
+/* the actual character string pointed to by the data */
 #define UNRESOLVED_CLASS_NAMED(idx, pool)               (WORD2UTF(pool->data[idx])->data)
 #define RESOLVED_CLASS_NAMED(idx, pool)                 ((CLASS_CLASS(idx, pool))->name->data)
 
@@ -80,7 +80,7 @@
 #define NAMEANDTYPE_NAME(idx, pool)                     ((uint16)pool->data[idx])
 #define NAMEANDTYPE_SIGNATURE(idx, pool)                ((uint16)(pool->data[idx] >> 16))
 
-// the actual character string pointed to by the data
+/* the actual character string pointed to by the data */
 #define NAMEANDTYPE_NAMED(idx, pool)                    (WORD2UTF(pool->data[NAMEANDTYPE_NAME(idx, pool)])->data)
 #define NAMEANDTYPE_SIGD(idx, pool)                     (WORD2UTF(pool->data[NAMEANDTYPE_SIGNATURE(idx, pool)])->data)
 
@@ -89,7 +89,7 @@
 #define METHODREF_NAME(idx, pool)                       FIELDREF_NAME(idx, pool)
 #define INTERFACEMETHODREF_NAME(idx, pool)              FIELDREF_NAME(idx, pool)
 
-// the actual character string pointed to by the data
+/* the actual character string pointed to by the data */
 #define FIELDREF_NAMED(idx, pool)                       (WORD2UTF(pool->data[FIELDREF_NAME(idx, pool)])->data)
 #define METHODREF_NAMED(idx, pool)                      FIELDREF_NAMED(idx, pool)
 #define INTERFACEMETHODREF_NAMED(idx, pool)             FIELDREF_NAMED(idx, pool)
@@ -98,12 +98,12 @@
 #define METHODREF_SIGNATURE(idx, pool)                  FIELDREF_SIGNATURE(idx, pool)
 #define INTERFACEMETHODREF_SIGNATURE(idx, pool)         FIELDREF_SIGNATURE(idx, pool)
 
-// aliases...make more sense in certain situations, like type checking
+/* aliases...make more sense in certain situations, like type checking */
 #define FIELDREF_TYPE(idx, pool)                        FIELDREF_SIGNATURE(idx, pool)
 #define METHODREF_TYPE(idx, pool)                       FIELDREF_TYPE(idx, pool)
 #define INTERFACEMETHODREF_TYPE(idx, pool)              FIELDREF_TYPE(idx, pool)
 
-// the actual character string pointed to by the data
+/* the actual character string pointed to by the data */
 #define FIELDREF_SIGD(idx, pool)                        (WORD2UTF(pool->data[FIELDREF_SIGNATURE(idx, pool)])->data)
 #define METHODREF_SIGD(idx, pool)                       FIELDREF_SIGD(idx, pool)
 #define INTERFACEMETHODREF_SIGD(idx, pool)              FIELDREF_SIGD(idx, pool)
Index: kaffe/kaffe/kaffevm/jni.c
diff -u kaffe/kaffe/kaffevm/jni.c:1.96 kaffe/kaffe/kaffevm/jni.c:1.97
--- kaffe/kaffe/kaffevm/jni.c:1.96	Thu Oct 30 21:22:56 2003
+++ kaffe/kaffe/kaffevm/jni.c	Mon Nov  3 05:29:31 2003
@@ -4466,7 +4466,7 @@
 	0,		/* Java stack size */
 	MIN_HEAPSIZE,	/* Min heap size */
 	MAX_HEAPSIZE,	/* Max heap size */
-	//	2,		/* Verify mode ... verify remote by default */
+	/*	2,	*/	/* Verify mode ... verify remote by default */
 	0,              /* Verify mode ... noverify by default */
 	".",		/* Classpath */
 	".",		/* Bootclasspath */
Index: kaffe/kaffe/kaffevm/stringParsing.h
diff -u kaffe/kaffe/kaffevm/stringParsing.h:1.1 kaffe/kaffe/kaffevm/stringParsing.h:1.2
--- kaffe/kaffe/kaffevm/stringParsing.h:1.1	Fri Apr 25 21:35:34 2003
+++ kaffe/kaffe/kaffevm/stringParsing.h	Mon Nov  3 05:29:31 2003
@@ -108,7 +108,7 @@
 	/* (int *) Increment the counter on each value found */
 	SPO_Count,
 	/* () Skip any preceding white space. */
-	SPO_SkipSpace,
+	SPO_SkipSpace
 };
 
 #define SPO_MAX_ARG_COUNT 2
Index: kaffe/kaffe/kaffevm/verify.c
diff -u kaffe/kaffe/kaffevm/verify.c:1.28 kaffe/kaffe/kaffevm/verify.c:1.29
--- kaffe/kaffe/kaffevm/verify.c:1.28	Mon Sep 22 15:31:24 2003
+++ kaffe/kaffe/kaffevm/verify.c	Mon Nov  3 05:29:31 2003
@@ -29,7 +29,7 @@
 #include "debug.h"
 #include "utf8const.h"
 
-// needed for pass 3
+/* needed for pass 3 */
 #include "bytecode.h"
 #include "itypes.h"
 #include "soft.h"
@@ -43,9 +43,10 @@
 static
 bool
 isTrustedClass(Hjava_lang_Class* class) {
-	// recall (from main.c): -verifyremote (default) ==> verifyMode = 2
-	//                       -verify                 ==> verifyMode = 3
-	//                       -noverify               ==> verifyMode = 0
+        /* recall (from main.c): -verifyremote (default) ==> verifyMode = 2
+	 *                       -verify                 ==> verifyMode = 3
+	 *                       -noverify               ==> verifyMode = 0
+	 */
 	return ((class->loader == 0 && (Kaffe_JavaVMArgs[0].verifyMode & 1) == 0) ||
 		(class->loader != 0 && (Kaffe_JavaVMArgs[0].verifyMode & 2) == 0));
 }
@@ -165,7 +166,7 @@
 	
 	DBG(VERIFY2, dprintf("        parsing method type descriptor: %s\n", sig); );
 	
-	// parse the type parameters
+	/* parse the type parameters */
 	for (sig++; sig && *sig != ')' && *sig != '\0'; sig = parseFieldTypeDescriptor(sig)) {
 		DBG(VERIFY2, dprintf("            parameter sig: %s\n", sig); );
 	}
@@ -198,7 +199,7 @@
 static bool checkMethodStaticConstraints(Method*, errorInfo*);
 static bool checkAbstractMethod(Method*, errorInfo*);
 
-// perhaps this should go in classMethod.[ch]...
+/* perhaps this should go in classMethod.[ch]... */
 static bool isMethodVoid(Method* method)
 {
 	char* sig = (char*)method->parsed_sig->signature->data;
@@ -344,16 +345,17 @@
 	
 	DBG(VERIFY2, dprintf("\nPass 2 Verifying class %s\n", CLASS_CNAME(class)); );
 	
-	
+#ifdef UNENFORCED_INTERFACE_RESTRICTIONS
 	/* this is commented out because Sun's Java runtime environment doesn't enforce the restrictions
 	 * placed upon interfaces by the specification.
 	 * GJC also doesn't follow this!
-	 *
+	 */
 	if (CLASS_IS_INTERFACE(class)) {
-		// JVML spec p. 96: if a class has ACC_INTERFACE flag set, it must also have
-		// ACC_ABSTRACT set and may have ACC_PUBLIC set.  it may not have any other flags
-		// (in the given table) set.
-		
+	        /* JVML spec p. 96: if a class has ACC_INTERFACE flag set, it must also have
+		 * ( ACC_ABSTRACT set and may have ACC_PUBLIC set.  it may not have any other flags
+		 * (in the given table) set.
+		 */
+
 		if (!CLASS_IS_ABSTRACT(class)) {
 			postExceptionMessage(einfo, JAVA_LANG(ClassFormatError),
 					     "interfaces must have their abstract flag set (in interface \"%s\")",
@@ -366,7 +368,7 @@
 			return(false);
 		}
 	}
-	*/
+#endif /* UNENFORCED_INTERFACE_RESTRICTIONS */
 
 	{
 		Field *fld;
@@ -380,8 +382,9 @@
 		}
 	}
 	
-	// java/lang/Object does not have a superclass, is not final, and is not an interface,
-	// so we skip all of those checks
+        /* java/lang/Object does not have a superclass, is not final, and is not an interface,
+	 * so we skip all of those checks
+	 */
 	if(strcmp(OBJECTCLASS, CLASS_CNAME(class))) {
 		if (class->superclass == NULL) {
 			/***********************************************************
@@ -402,9 +405,9 @@
 					     CLASS_CNAME(class->superclass));
 			return(false);
 		} else if (CLASS_IS_INTERFACE(class)) {
-			// we separate this from the rest of the method checking because the only requirement
-			// of methods in an interface is that they be public, abstract, and nothing else.
-			
+		        /* we separate this from the rest of the method checking because the only requirement
+			 * of methods in an interface is that they be public, abstract, and nothing else.
+			 */
 			Method* method;
 			int n;
 		
@@ -412,9 +415,10 @@
 			     n > 0;
 			     --n, ++method) {
 				
-				// if it's <clinit> (init_name) then it doesn't have to be public.
-				// compilers often insert a <clinit> function to initialize an
-				// interfaces public static fields, if there are any.
+			        /* if it's <clinit> (init_name) then it doesn't have to be public.
+				 * compilers often insert a <clinit> function to initialize an
+				 * interfaces public static fields, if there are any.
+				 */
 				if (strcmp(init_name->data, METHOD_NAMED(method))) {
 					if (!METHOD_IS_PUBLIC(method)) {
 						postExceptionMessage(einfo, JAVA_LANG(ClassFormatError),
@@ -432,7 +436,7 @@
 				}
 				
 				if (checkMethodStaticConstraints(method, einfo) == false) {
-					// something else is wrong...exception raised elsewhere
+				        /* something else is wrong...exception raised elsewhere */
 					return(false);
 				}
 			}
@@ -451,7 +455,7 @@
 			     n > 0;
 			     --n, ++curMethod) {
 			
-				// check static constraints on each method
+			        /* check static constraints on each method */
 			
 				if (METHOD_IS_CONSTRUCTOR(curMethod) && checkConstructor(curMethod, einfo) == false) {
 					return(false);
@@ -461,21 +465,21 @@
 			}
 			
 			
-			// cycle through superclass hiarchy and make sure final methods aren't overriden
+			/* cycle through superclass hiarchy and make sure final methods aren't overriden */
 			for (superclass = class->superclass; superclass != NULL; superclass = superclass->superclass) {
 				
-				// cycle through methods in current super class
+			        /* cycle through methods in current super class */
 				for (m = CLASS_NMETHODS(superclass), method = CLASS_METHODS(superclass);
 				     m > 0;
 				     --m, ++method) {
 					
 					if (METHOD_IS_FINAL(method) && !METHOD_IS_PRIVATE(method) &&
 					    
-					    // the following exceptions come from testing against Sun's JVM behavior
+					    /* the following exceptions come from testing against Sun's JVM behavior */
 					    (strcmp(init_name->data, METHOD_NAMED(method)) &&
 					     strcmp("this", METHOD_NAMED(method)))) {
 						
-						// make sure the method in question was not overriden in the current class
+					        /* make sure the method in question was not overriden in the current class */
 						for (n = CLASS_NMETHODS(class), curMethod = CLASS_METHODS(class);
 						     n > 0;
 						     --n, ++curMethod) {
@@ -510,7 +514,7 @@
 	 * This is the only section of pass 2 that was available
 	 * under Transvirtual, though even this has been modified.
 	 *********************************************************/
-	// error message for step 3
+	/* error message for step 3 */
 #define POOLERROR \
 	postExceptionMessage(einfo, JAVA_LANG(ClassFormatError), "malformed constant pool in class \"%s\"", CLASS_CNAME(class)); \
 	return (false)
@@ -518,7 +522,7 @@
 	
 	pool = CLASS_CONSTANTS(class);
 	
-	// Constant pool loaded - check it's integrity.
+        /* Constant pool loaded - check it's integrity. */
 	for (idx = 1; idx < pool->size; idx++) {
 		switch (pool->tags[idx]) {
 		case CONSTANT_Fieldref:
@@ -543,7 +547,7 @@
 			break;
 			
 			
-			// the following tags are always legal, so no furthur checks need be performed
+			/* the following tags are always legal, so no furthur checks need be performed */
 		case CONSTANT_Long:
 		case CONSTANT_Double:
 			idx++;
@@ -567,7 +571,7 @@
 			
 			
 		default:
-			// undefined tag
+		        /* undefined tag */
 			POOLERROR;
 			break;
 		}
@@ -590,7 +594,7 @@
 	 *   formed.
 	 **************************************************************/
 	
-	// Constant pool loaded - check the integrity of the type references
+	/* Constant pool loaded - check the integrity of the type references */
 	pool = CLASS_CONSTANTS(class);
 	for (idx = 1; idx < pool->size; idx++) {
 		switch (pool->tags[idx]) {
@@ -644,7 +648,7 @@
 			break;
 			
 		default:
-			// we'll never get here, because of pass 3
+		        /* we'll never get here, because of pass 3 */
 			postExceptionMessage(einfo, JAVA_LANG(InternalError),
 					     "step 4 of pass 2 verification has screwed up while processing class \"%s\"",
 					     CLASS_CNAME(class));
@@ -747,7 +751,7 @@
 			return(false);
 		}
 	} else if (!METHOD_IS_NATIVE(method)) {
-		// code length static constraints
+	        /* code length static constraints */
 		
 		if (METHOD_BYTECODE_LEN(method) == 0) {
 			postExceptionMessage(einfo, JAVA_LANG(ClassFormatError),
@@ -787,11 +791,11 @@
 			     METHOD_NAMED(method), _MSG); \
 	return(false)
 	
-	
+#ifdef ABSTRACT_METHOD_VS_ABSTRACT_CLASS	
 	/* This is commented out because Sun's verifier doesn't care if an abstract method
 	 * is in an abstract class.
-	 * 
-	// ensure that only abstract classes may have abstract methods
+	 */
+	 /* ensure that only abstract classes may have abstract methods */
 	if (!(CLASS_IS_INTERFACE(method->class) || CLASS_IS_ABSTRACT(method->class))) {
 		postExceptionMessage(einfo, JAVA_LANG(ClassFormatError),
 				     "in method \"%s.%s\": only abstract classes may have abstract methods",
@@ -799,10 +803,10 @@
 				     METHOD_NAMED(method));
 		return(false);
 	}
-	*/
+#endif /* ABSTRACT_METHOD_VS_ABSTRACT_CLASS */
 	
 	
-	// constructors cannot be abstract
+	/* constructors cannot be abstract */
 	if (METHOD_IS_CONSTRUCTOR(method)) {
 		if (CLASS_IS_INTERFACE(method->class)) {
 			postExceptionMessage(einfo, JAVA_LANG(ClassFormatError),
@@ -820,7 +824,7 @@
 	}
 	
 	
-	// ensure the abstract method has no code
+	/* ensure the abstract method has no code */
 	if (METHOD_BYTECODE_LEN(method) > 0) {
 		postExceptionMessage(einfo, JAVA_LANG(ClassFormatError),
 				     "in method \"%s.%s\": abstract methods cannot have a Code attribute",
@@ -830,7 +834,7 @@
 	}
 	
 	
-	// enforce access flag rules of the JVML spec. for abstract methods
+	/* enforce access flag rules of the JVML spec. for abstract methods */
 	if (METHOD_IS_PRIVATE(method))           { ABSTRACT_METHOD_ERROR("private");      }
 	else if (METHOD_IS_FINAL(method))        { ABSTRACT_METHOD_ERROR("final");        }
 	else if (METHOD_IS_NATIVE(method))       { ABSTRACT_METHOD_ERROR("native");       }
@@ -871,8 +875,8 @@
  *       code-analyze.c again later on.
  ************************************************************************************/
 
-// lengths in bytes of all the instructions
-// 16 rows of 16
+/* lengths in bytes of all the instructions */
+/* 16 rows of 16 */
 static const uint8 insnLen[256] = {
 	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
 	2, 3, 2, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 
@@ -893,8 +897,9 @@
 };
 
 
-// these retrieve the word (16 bits) or double world (32 bits) of bytecode starting
-// at pc = _PC
+/* these retrieve the word (16 bits) or double world (32 bits) of bytecode starting
+ * at pc = _PC
+ */
 #define	WORD(_CODE, _PC)  ((int16)( \
 			   (_CODE[(_PC)+0] << 8) | \
 			   (_CODE[(_PC)+1])))
@@ -905,9 +910,9 @@
 			   (_CODE[(_PC)+3])))
 
 
-//
-// types for type checking (pass 3b)
-//
+/*
+ * types for type checking (pass 3b)
+ */
 static Type  verify_UNSTABLE;
 static Type* TUNSTABLE = &verify_UNSTABLE;
 
@@ -923,8 +928,9 @@
 static Type  verify_DOUBLE;
 static Type* TDOUBLE = &verify_DOUBLE;
 
-// used for the second space of LONGs and DOUBLEs
-// in local variables or on the operand stack
+/* used for the second space of LONGs and DOUBLEs
+ * in local variables or on the operand stack
+ */
 static Type  _WIDE;
 static Type* TWIDE = &_WIDE;
 #define IS_WIDE(_TINFO) ((_TINFO)->data.class == TWIDE->data.class)
@@ -1020,8 +1026,8 @@
 static bool               verifyMethod(errorInfo* einfo, Method* method);
 static BlockInfo**        verifyMethod3a(errorInfo* einfo,
 					 Method* method,
-					 uint32* status,     // array of status info for all opcodes
-					 uint32* numBlocks); // number of basic blocks
+					 uint32* status,     /* array of status info for all opcodes */
+					 uint32* numBlocks); /* number of basic blocks */
 static bool               verifyMethod3b(errorInfo* einfo,
 					 const Method* method,
 					 const uint32* status,
@@ -1140,15 +1146,16 @@
 	bool success = true;
 	Method* method;
 	
-	// see if verification is turned on, and whether the class we're about to verify requires verification
-	//
-	// NOTE: we don't skip interfaces here because an interface may contain a <clinit> method with bytecode
+	/* see if verification is turned on, and whether the class we're about to verify requires verification
+	 *
+	 * NOTE: we don't skip interfaces here because an interface may contain a <clinit> method with bytecode
+	 */
 	if (isTrustedClass(class)) {
 		goto done;
 	}
 	
 	
-	// make sure it's initialized...we had some problems because of this
+	/* make sure it's initialized...we had some problems because of this */
 	einfo->type = 0;
 	
 	
@@ -1167,7 +1174,7 @@
 		DBG(VERIFY3, dprintf("\n  -----------------------------------\n  considering method %s%s\n",
 				     METHOD_NAMED(method), METHOD_SIGD(method)); );
 		
-		// if it's abstract or native, no verification necessary
+		/* if it's abstract or native, no verification necessary */
 		if (!(METHOD_IS_ABSTRACT(method) || METHOD_IS_NATIVE(method))) {
 			DBG(VERIFY3, dprintf("  verifying method %s\n", METHOD_NAMED(method)); );
 			
@@ -1205,12 +1212,13 @@
 bool
 verifyMethod(errorInfo *einfo, Method* method)
 {
-	// to save some typing, etc.
+        /* to save some typing, etc. */
 	int codelen  = METHOD_BYTECODE_LEN(method);
 	
-	uint32* status = NULL; // the status of each instruction...changed, visited, etc.
-                               // used primarily to help find the basic blocks initially
-	
+	uint32* status = NULL; /* the status of each instruction...changed, visited, etc.
+				* used primarily to help find the basic blocks initially
+				*/
+
 	SigStack* sigs = NULL;
 	
 	UninitializedType* uninits = NULL;
@@ -1222,8 +1230,9 @@
 	/**************************************************************************************************
 	 * Memory Management Macros
 	 **************************************************************************************************/
-	// to make sure we don't forget to unalloc anything...
-	// should be called during ANY EXIT FROM THIS METHOD
+	/* to make sure we don't forget to unalloc anything...
+	 * should be called during ANY EXIT FROM THIS METHOD
+	 */
 #define CLEANUP \
 	DBG(VERIFY3, dprintf("    cleaning up..."); ); \
 	KFREE(status); \
@@ -1255,12 +1264,12 @@
 	
         status   = checkPtr((char*)gc_malloc(codelen * sizeof(uint32), GC_ALLOC_VERIFIER));
 	
-	// find basic blocks and allocate memory for them
+	/* find basic blocks and allocate memory for them */
 	blocks = verifyMethod3a(einfo, method, status, &numBlocks);
 	if (!blocks) {
 		DBG(VERIFY3, dprintf("        some kinda error finding the basic blocks in pass 3a\n"); );
 		
-		// propagate error
+		/* propagate error */
 		FAIL;
 	}
 	
@@ -1269,14 +1278,14 @@
 	 * Prepare for data-flow analysis
 	 **************************************************************************************************/
 	
-	// load initial arguments into local variable array
+	/* load initial arguments into local variable array */
 	DBG(VERIFY3, dprintf("    about to load initial args...\n"); );
 	if (!loadInitialArgs(method, einfo, blocks[0], &sigs, &uninits)) {
-		// propagate error
+	        /* propagate error */
 		FAIL;
 	}
 	DBG(VERIFY3, {
-		// print out the local arguments
+	        /* print out the local arguments */
 		int n;
 		for(n = 0; n < method->localsz; n++) {
 			dprintf("        local %d: ", n);
@@ -1316,8 +1325,8 @@
 BlockInfo**
 verifyMethod3a(errorInfo* einfo,
 	       Method* method,
-	       uint32* status,    // array of status info for all opcodes
-	       uint32* numBlocks) // number of basic blocks
+	       uint32* status,    /* array of status info for all opcodes */
+	       uint32* numBlocks) /* number of basic blocks */
 {
 #define VERIFY_ERROR(_MSG) \
 	if (einfo->type == 0) { \
@@ -1353,7 +1362,7 @@
 		VERIFY_ERROR("branch out of method code"); \
 	}
 
-	// makes sure the index given for a local variable is within the correct index
+        /* makes sure the index given for a local variable is within the correct index */
 #define CHECK_LOCAL_INDEX(_N) \
 	if ((_N) >= method->localsz) { \
 		DBG(VERIFY3, \
@@ -1367,7 +1376,7 @@
 	
 	constants* pool     = CLASS_CONSTANTS(method->class);
 	
-	// used for looking at method signatures...
+	/* used for looking at method signatures... */
 	const char* sig;
 	
 	int codelen         = METHOD_BYTECODE_LEN(method);
@@ -1379,7 +1388,7 @@
 	int32 low, high;
 	
 	bool wide;
-	bool inABlock; // used when calculating the start/return address of each block
+	bool inABlock; /* used when calculating the start/return address of each block */
 	
 	uint32 blockCount  = 0;
 	BlockInfo** blocks = NULL;
@@ -1388,9 +1397,10 @@
 	DBG(VERIFY3, dprintf("    Verifier Pass 3a: checking static constraints and finding basic blocks...\n"); );
 	
 	
-	// find the start of every instruction and basic block to determine legal branches
-	//
-	// also, this makes sure that only legal instructions follow the WIDE instruction
+	/* find the start of every instruction and basic block to determine legal branches
+	 *
+	 * also, this makes sure that only legal instructions follow the WIDE instruction
+	 */
 	status[0] |= START_BLOCK;
 	wide = false;
 	pc = 0;
@@ -1498,12 +1508,13 @@
 			break;
 			
 			
-			// invokeinterface is a 5 byte instruction.  the first byte is the instruction.
-			// the next two are the index into the constant pool for the methodreference.
-			// the fourth is the number of parameters expected by the method, and the verifier
-			// must check that the actual method signature of the method to be invoked matches
-			// this number.  the 5th must be zero.  these are apparently present for historical
-			// reasons (yeah Sun :::smirk:::).
+			/* invokeinterface is a 5 byte instruction.  the first byte is the instruction.
+			 * the next two are the index into the constant pool for the methodreference.
+			 * the fourth is the number of parameters expected by the method, and the verifier
+			 * must check that the actual method signature of the method to be invoked matches
+			 * this number.  the 5th must be zero.  these are apparently present for historical
+			 * reasons (yeah Sun :::smirk:::).
+			 */
 		case INVOKEINTERFACE:
 			ENSURE_NON_WIDE;
 			
@@ -1549,7 +1560,7 @@
 				VERIFY_ERROR("multinewarray indexes a constant pool entry that is not type CONSTANT_Class or CONSTANT_ResolvedClass");
 			}
 			
-			// number of dimensions must be <= num dimensions of array type being created
+			/* number of dimensions must be <= num dimensions of array type being created */
 			sig = CLASS_NAMED(idx, pool);
 			newpc = code[pc + 3];
 			if (newpc == 0) {
@@ -1572,7 +1583,7 @@
 				VERIFY_ERROR("new indexes a constant pool entry that is not type CONSTANT_Class or CONSTANT_ResolvedClass");
 			}
 			
-			// cannot create arrays with NEW
+			/* cannot create arrays with NEW */
 			sig = CLASS_NAMED(idx, pool);
 			if (*sig == '[') {
 				VERIFY_ERROR("new instruction used to create a new array");
@@ -1589,7 +1600,7 @@
 				VERIFY_ERROR("anewarray indexes a constant pool entry that is not type CONSTANT_Class or CONSTANT_ResolvedClass");
 			}
 			
-			// count the number of dimensions of the array being created...it must be <= 255
+			/* count the number of dimensions of the array being created...it must be <= 255 */
 			sig = CLASS_NAMED(idx, pool);
 			for (n = 0; *sig == '['; sig++, n++);
 			if (n > 255) {
@@ -1623,7 +1634,7 @@
 		case ILOAD: case ISTORE:
 		case FLOAD: case FSTORE:
 			if (wide == true) {
-				// the WIDE is considered the beginning of the instruction
+			        /* the WIDE is considered the beginning of the instruction */
 				status[pc] ^= IS_INSTRUCTION;
 				status[pc] |= WIDE_MODDED;
 				
@@ -1642,7 +1653,7 @@
 		case LLOAD: case LSTORE:
 		case DLOAD: case DSTORE:
 			if (wide == true) {
-				// the WIDE is considered the beginning of the instruction
+			        /* the WIDE is considered the beginning of the instruction */
 				status[pc] ^= IS_INSTRUCTION;
 				status[pc] |= WIDE_MODDED;
 				
@@ -1655,16 +1666,17 @@
 				GET_IDX(n, pc);
 			}
 			
-			// makes sure the index given for a local variable is within the correct index
-			//
-			// REM: longs and doubles take two consecutive local spots
+			/* makes sure the index given for a local variable is within the correct index
+			 *
+			 * REM: longs and doubles take two consecutive local spots
+			 */
 			CHECK_LOCAL_INDEX(n + 1);
 			break;
 			
 			
 		case IINC:
 			if (wide == true) {
-				// the WIDE is considered the beginning of the instruction
+			        /* the WIDE is considered the beginning of the instruction */
 				status[pc] ^= IS_INSTRUCTION;
 				status[pc] |= WIDE_MODDED;
 				
@@ -1738,7 +1750,7 @@
 			BRANCH_IN_BOUNDS(newpc, "jsr");
 			status[newpc] |= START_BLOCK;
 			
-			// the next instruction is a target for branching via RET
+			/* the next instruction is a target for branching via RET */
 			pc = NEXTPC;
 			BRANCH_IN_BOUNDS(pc, "jsr/ret");
 			status[pc] |= START_BLOCK;
@@ -1766,8 +1778,9 @@
 			ENSURE_NON_WIDE;
 			status[pc] |= END_BLOCK;
 			
-			// default branch...between 0 and 3 bytes of padding are added so that the
-			// default branch is at an address that is divisible by 4
+			/* default branch...between 0 and 3 bytes of padding are added so that the
+			 * default branch is at an address that is divisible by 4
+			 */
 			n = (pc + 1) % 4;
 			if (n) n = pc + 5 - n;
 			else   n = pc + 1;
@@ -1780,14 +1793,14 @@
 			    dprintf("\n");
 			    );
 			
-			// get number of key/target pairs
+			/* get number of key/target pairs */
 			n += 4;
 			low = DWORD(code, n);
 			if (low < 0) {
 				VERIFY_ERROR("lookupswitch with npairs < 0");
 			}
 			
-			// make sure all targets are in bounds
+			/* make sure all targets are in bounds */
 			for (n += 4, high = n + 8*low; n < high; n += 8) {
 				newpc = pc + DWORD(code, n+4);
 				BRANCH_IN_BOUNDS(newpc, "lookupswitch");
@@ -1808,8 +1821,9 @@
 			ENSURE_NON_WIDE;
 			status[pc] |= END_BLOCK;
 			
-			// default branch...between 0 and 3 bytes of padding are added so that the
-			// default branch is at an address that is divisible by 4
+			/* default branch...between 0 and 3 bytes of padding are added so that the
+			 * default branch is at an address that is divisible by 4
+			 */
 			n = (pc + 1) % 4;
 			if (n) n = pc + 5 - n;
 			else   n = pc + 1;
@@ -1822,7 +1836,7 @@
 			    dprintf("\n");
 			    );
 			
-			// get the high and low values of the table
+			/* get the high and low values of the table */
 			low  = DWORD(code, n + 4);
 			high = DWORD(code, n + 8);
 			if (high < low) {
@@ -1831,8 +1845,9 @@
 			}
 			n += 12;
 			
-			// high and low are used as temps in this loop that checks
-			// the validity of all the branches in the table
+			/* high and low are used as temps in this loop that checks
+			 * the validity of all the branches in the table
+			 */
 			for (high = n + 4*(high - low + 1); n < high; n += 4) {
 				newpc = pc + DWORD(code, n);
 				BRANCH_IN_BOUNDS(newpc, "tableswitch");
@@ -1849,7 +1864,7 @@
 			continue;
 			
 			
-			// the rest of the ways to end a block
+			/* the rest of the ways to end a block */
 		case RETURN:

*** Patch too long, truncated ***