RFA: Fix java/46386
Paul Koning
paul_koning@dell.com
Tue Nov 9 15:28:00 GMT 2010
PDP11 part is ok. Thanks!
paul
On Nov 9, 2010, at 5:25 AM, Joern Rennecke wrote:
> Quoting Andrew Haley <aph@redhat.com>:
>
>> I am always opposed to obfuscating code in order to suppress bogus warnings.
>>
>> Can I suggest
>>
>> temp <<= (POINTER_SIZE > 32) ? POINTER_SIZE - 32 : 0;
>
> Yes, that also works fine for the pdp11 build.
>
> Currently bootstrapping on i686-pc-linux-gnu.
> 2010-11-09 Joern Rennecke <amylaar@spamcop.net>
> Andrew Haley <aph@redhat.com>
>
> PR java/46386
> gcc/java:
> * constants.c (build_constants_constructor): Avoid negative shift.
> gcc:
> * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
>
> Index: java/constants.c
> ===================================================================
> --- java/constants.c (revision 166429)
> +++ java/constants.c (working copy)
> @@ -540,8 +540,8 @@ build_constants_constructor (void)
> FIXME: This is a kludge. The field we're initializing is
> not a scalar but a union, and that's how we should
> represent it in the compiler. We should fix this. */
> - if (BYTES_BIG_ENDIAN && POINTER_SIZE > 32)
> - temp <<= POINTER_SIZE - 32;
> + if (BYTES_BIG_ENDIAN)
> + temp <<= ((POINTER_SIZE > 32) ? POINTER_SIZE - 32 : 0);
>
> CONSTRUCTOR_PREPEND_VALUE (t, get_tag_node (outgoing_cpool->tags[i]));
> CONSTRUCTOR_PREPEND_VALUE (d,
> Index: config/pdp11/t-pdp11
> ===================================================================
> --- config/pdp11/t-pdp11 (revision 166429)
> +++ config/pdp11/t-pdp11 (working copy)
> @@ -42,7 +42,3 @@ MULTILIB_OPTIONS = msoft-float
> # We could say "-Werror -Wno-error=type-limits", alas, not all supported
> # gcc bootstrap compilers support the latter option.
> dwarf2out.o-warn = -Wno-error
> -
> -# Likewise, java/constants.c:build_constants_constructor has a negative shift
> -# count (in never-executed code) due to the small POINTER_SIZE.
> -java/constants.o-warn = -Wno-error
More information about the Gcc-patches
mailing list