[GD-Windows] Compiler code gen
Brought to you by:
vexxed72
From: Brett B. <res...@ga...> - 2004-11-29 12:07:20
|
Hello, I have a really bizarre problem that I'm trying to track down. I got it down to one case that works and one that doesn't and hopefully somebody here can help shed some light on this for me. The situation is that when I pass a float to one of my variadic functions, the paramters in the receiving function are not right. If I change the variable to an integer it works fine. After much looking at the code I can see that floats passed to variadic functions are having 8 bytes pushed onto the stack instead of 4 bytes. If I call a non-variadic function only 4 bytes are used. Is this considered correct behavior for Windows? I assume that the variadic function should be popping the 8 bytes if it pushed it, but I can see in my memory dump that all parameters on the stack after floats appear are trashed. My compiler is CodeWarrior. Thanks, Brett |