Looks good! Thanks, /Staffan
On 6 feb 2014, at 11:04, Alan Bateman <alan.bate...@oracle.com> wrote: > > This is a drive-by fix to the JDWP agent to fix 50+ warnings that have been > annoying me, see: > https://bugs.openjdk.java.net/browse/JDK-8033758 > > The bulk of the warnings stem from using a switch statement to switch on > JVMTI and JDWP internal "agent" errors. The agent errors are arranged (in > util.h) so that they have integer values beyond the range of the JVMTI errors. > > There are several ways to deal with this, including suppressing the warning. > I toyed with splitting the switch statement into two so that the JVMTI and > agent errors are handled separately. It didn't seem to be worth and the > simplest is just to cast the jvmtiError to an int. > > The other warning (in ArrayTypeImpl's writeNewObjectArray) is just that the > compiler doesn't know if componentClass has been set in getComponentClass. > The simplest thing here is just to initialize to NULL. > > The proposed changes are below. > > -Alan > > > diff --git a/src/share/back/ArrayTypeImpl.c b/src/share/back/ArrayTypeImpl.c > --- a/src/share/back/ArrayTypeImpl.c > +++ b/src/share/back/ArrayTypeImpl.c > @@ -112,7 +112,7 @@ > WITH_LOCAL_REFS(env, 1) { > > jarray array; > - jclass componentClass; > + jclass componentClass = NULL; > jdwpError serror; > > serror = getComponentClass(env, arrayClass, > diff --git a/src/share/back/error_messages.c b/src/share/back/error_messages.c > --- a/src/share/back/error_messages.c > +++ b/src/share/back/error_messages.c > @@ -140,7 +140,7 @@ > const char * > jvmtiErrorText(jvmtiError error) > { > - switch (error) { > + switch ((int)error) { > CASE_RETURN_TEXT(JVMTI_ERROR_NONE) > CASE_RETURN_TEXT(JVMTI_ERROR_INVALID_THREAD) > CASE_RETURN_TEXT(JVMTI_ERROR_INVALID_THREAD_GROUP) > diff --git a/src/share/back/util.c b/src/share/back/util.c > --- a/src/share/back/util.c > +++ b/src/share/back/util.c > @@ -2122,7 +2122,7 @@ > jdwpError > map2jdwpError(jvmtiError error) > { > - switch ( error ) { > + switch ( (int)error ) { > case JVMTI_ERROR_NONE: > return JDWP_ERROR(NONE); > case AGENT_ERROR_INVALID_THREAD: