Looks more like an implementation of undefined behaviour to me.
The underlying implementations define the behavior here very well.
Well, I would not go that far. My coroutine hack relies on “unwarranted chumminess with the implementation” (http://c-faq.com/struct/structhack.html) and there are lots of incidental things that can break it. It is best treated as an example of the principles of thread switching and stack allocation.
"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."