https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87060
--- Comment #1 from Yevheniy Soloshenko <yso at melexis dot com> --- Ok, my fault. Integer promotion in action. The code below is fine. ``` void test_u8 (void) { if ((unsigned char)(u8 + 1)) { u8 = 1; } } ```