Okay, so I will admit that I did have some gaps in my understanding of local and global register variables. This seems to be a GCC-specific extension and is not supported by the C language at all.

However.

I think it's not as straightforward as saying the compiler is **forced** to (1/n)

Comments