https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86617
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW Last reconfirmed| |2018-07-21 CC| |amonakov at gcc dot gnu.org Summary|Volatile qualifier is |[6/7/8/9 Regression] |ignored sometimes for |Volatile qualifier is |unsigned char |ignored sometimes for | |unsigned char Ever confirmed|0 |1 --- Comment #1 from Alexander Monakov <amonakov at gcc dot gnu.org> --- Confirmed, 'unsigned short' is similarly mishandled, but not wider integer types. gcc-4.9 got this right. Appears like over-eager folding in the frontend: in the .original dump I get { u8 = u8 * 2; u8 = u8, 0; }