On Sun, Jun 6, 2021 at 11:59 AM Jakub Jelinek <jakub@xxxxxxxxxx> wrote: > > I think just > #define barrier() __asm__ __volatile__("" : : "i" (__COUNTER__) : "memory") > should be enough Oh, I like that. Much better. It avoids all the issues with comments etc, and because it's not using __COUNTER__ as a string, it doesn't need the preprocessor games with double expansion either. So yeah, that seems like a nice solution to the issue, and should make the barriers all unique to the compiler. Linus