As stated in avr-libc [bug raport](https://savannah.nongnu.org/bugs/?22163), memorybarrier might be in place: ``` c++ ~Atomic() { asm("" ::: "memory"); SREG = state; } ```