This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This PR was due to code in which -(int) foo was suposed to be sign-extended, but was being ORed with an unsigned int and so ended up being zero-extended. Fixed by using the proper-width type. Tested on x86_64-linux-gnu and applied as obvious. Sorry for the breakage. Thanks, Richard gcc/ PR tree-optimization/61095 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi. Index: gcc/tree-ssanames.c =================================================================== --- gcc/tree-ssanames.c 2014-05-07 16:50:15.136064484 +0100 +++ gcc/tree-ssanames.c 2014-05-07 16:50:15.422063737 +0100 @@ -271,7 +271,8 @@ get_nonzero_bits (const_tree name) { struct ptr_info_def *pi = SSA_NAME_PTR_INFO (name); if (pi && pi->align) - return wi::shwi (-(int) pi->align | pi->misalign, precision); + return wi::shwi (-(HOST_WIDE_INT) pi->align + | (HOST_WIDE_INT) pi->misalign, precision); return wi::shwi (-1, precision); }
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |