https://sourceware.org/bugzilla/show_bug.cgi?id=21934
--- Comment #14 from Brett Neumeier <bneumeier at gmail dot com> --- (In reply to H.J. Lu from comment #13) > There is cast to (unsigned char). Why does GCC see that? Why does > it only happen on arm? Also does 'hh" work with all compilers on all > supported hosts? Per Martin Sebor's comment, the possible-truncation warning "tends to be sensitive to char (and short) conversions because of limitations in its integration with the Value Range Propagation pass." I am not sure precisely what that means, but I presume that's why the cast is not sufficient to suppress the false positive warning. I don't know what circumstances trigger this false positive. I stumbled upon it in an arm-to-x86_64 cross-binutils build, but I expect that there are other scenarios where it can occur -- possibly some native builds do, and possibly other cross-builds do. I don't have the time or energy to do exhaustive tests to see which combinations trigger the issue. I don't know everything that is included in the "all compilers and all supported hosts" set. I do see that the "hh" flag is mandated by C99, but not by C89. Are there C89 compilers that binutils needs to support? If so, would a preprocessor test that adds the "hh" flag only in C99 and later make this patch acceptable? -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils