Joel Sherrill commented on a discussion: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5339#note_132733 This warning is generated on all targets and BSPs. Per Section 6.5.7 Bitwise shift operators in the C11 standard, many of the possible cases are undefined behavior: > The result of E1 \<\< E2 is E1 left-shifted E2 bit positions; vacated bits > are filled with zeros. If E1 has an unsigned type, the value of the result is > E1 × 2E2, reduced modulo one more than the maximum value representable in the > result type. If E1 has a signed type and nonnegative value, and E1 × 2E2 is > representable in the result type, then that is the resulting value; > otherwise, the behavior is undefined. > > The result of E1 \>\> E2 is E1 right-shifted E2 bit positions. If E1 has an > unsigned type or if E1 has a signed type and a nonnegative value, the value > of the result is the integral part of the quotient of E1 /2E2. I f E1 has a > signed type and a negative value, the resulting value is > implementation-defined. -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5339#note_132733 You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________ bugs mailing list [email protected] http://lists.rtems.org/mailman/listinfo/bugs
