Rather than relying on that we can pass an explict end_pos based on the sizeof(vrsave). The result should be exactly the same but it's more obviously not over-reading/writing the stack and it avoids the compiler warning.
It works on my PowerMac G4 with Debian-ports unstable with gcc 8. -- Meelis Roos