Dan Kegel dank@kegel.com writes:
I don't think he's saying that. It suffices that taking the address of the fourth parameter saves it to the stack. We are lucky in this case that there are already three non-varargs parameter, so after taking the address of the fourth parameter, all the varargs params are in memory. It all just happens to work (at least on ia32 and x64).
What I'm actually saying is that you should stop playing games with the compiler and implement this in assembler, it's really not hard.