8033758: gcc warnings compiling jdk/src/share/back

David Holmes david.holmes at oracle.com
Thu Feb 6 02:22:06 PST 2014


Hi Alan,

On 6/02/2014 8:04 PM, Alan Bateman 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.

Ok - not the nicest but this isn't worth any additional effort.

> 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.

Ok.

David
-----

> 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:


More information about the serviceability-dev mailing list