I've been experimenting with linearScanEnd and I know how it works and what C code it produces.
The question is: is there any particular case where the pragma is ignored?
I've just attempted to use it in a while loop, with the case statement inside and it seems as if it's complete ignored.
Any ideas? (I can show you the concrete location, if you want)
I've just attempted to use it in a while loop, with the case statement inside and it seems as if it's completely ignored.
So place it where you should. ;-)
linearScanEnd predates Nim's macro system and should have been done via a macro. It can still be written as a macro so that's what you should do.