Compiler code gen
"Brett Bibby" <[email protected]> Mon, 29 Nov 2004 20:11:51 +0800
| Newsgroups | gmane.games.devel.windows |
|---|---|
| Organization | GameBrains |
| Message-ID | <[email protected]> |
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 ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ Gamedevlists-windows mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=555