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

Daniel D. Daugherty daniel.daugherty at oracle.com
Thu Feb 6 06:57:57 PST 2014


Looks good to me. Nice to see you back in Serviceability code...:-)

Dan


On 2/6/14 3:04 AM, 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.
>
> 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:



More information about the serviceability-dev mailing list