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