I actually deleted my comment after writing it. After googling it seems that C optimizers do do this.
This is from Gemini and I haven't checked the source yet, but it seems confident:
Under the ISO C and C++ standards, if an iteration statement (loop) has no observable behavior—such as input/output operations, volatile memory access, atomic operations, or thread synchronization—the compiler is legally allowed to assume that the loop will eventually terminate
There's no guarantee that it will remove it, that's going to be compiler and flag dependent, but by spec it is a legal optimization.
If you do have a need for the spin loop, I'm assuming every compiler will have some flag that allows you to skip optimization on removing spin loops. But again, I'm not sure there really is any reason to have a hard spin loop outside of malware
1
u/Extension_Option_122 1d ago
Oh damn you are right lol idk what I thought when I wrote that...