https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69330
Bug ID: 69330 Summary: avr-gcc Error: operand out of range: 32 Product: gcc Version: 5.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: karaliusliudas+bugzilla at gmail dot com Target Milestone: --- avr-gcc (GCC) 5.3.0 on command avr-gcc -Os -save-temps -v -mmcu=attiny44 -c main.c -o main.o produce error: GNU assembler version 2.25.1 (avr) using BFD version (GNU Binutils) 2.25.1 main.s: Assembler messages: main.s:15: Error: operand out of range: 32 main.c content: int main (void) { *(volatile unsigned char *)(0x40) &= 0b11111110; } NOTE: no error if 0x40 substituted with 0x3f or 0x41 NOTE: no error if optimisation is not used ( -O0)