<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>I'll try later. I tried stepping through some of this in gdb but couldn't make much sense of the data. Perhaps due to optimization. And I read some of it, but didn't really notice what you point out, thanks. I need to be more willing to resort to printf debugging..it worked well with those aligned doubles..<BR>
It should help (any of us) to use that small repro I provided.<BR>
<BR>
I don't think it "quits" for us, but worth the printf'ing and such.<BR>
It does append "@4" to Sleep.<BR>
Another thing would be try:<BR>
like Sleep(int,record,int,record);<BR>
I wouldn't be surprised if you get @16, but I'm placing no bets here. :)<BR>
<BR>
I should also try building some cross m3cg's so I can nag you to do the same. :)<BR>
(if it only it were that easy, also need cross gcc, ld, headers, libs, and then could build all distributions from one machine, albeit NT386 is the real laggard here...)<BR>
<BR>
- Jay<BR><BR>
<HR id=stopSpelling>
<BR>
> CC: m3devel@elegosoft.com<BR>> From: hosking@cs.purdue.edu<BR>> Subject: Latest parse.c<BR>> Date: Mon, 4 Feb 2008 17:14:16 -0500<BR>> To: jayk123@hotmail.com<BR>> <BR>> See this snip from gcc/gcc/config/winnt.c:<BR>> <BR>> > formal_type = TYPE_ARG_TYPES (TREE_TYPE (decl));<BR>> > if (formal_type != NULL_TREE)<BR>> > {<BR>> > /* These attributes are ignored for variadic functions in<BR>> > i386.c:ix86_return_pops_args. For compatibility with MS<BR>> > compiler do not add @0 suffix here. */<BR>> > if (TREE_VALUE (tree_last (formal_type)) != void_type_node)<BR>> > return DECL_ASSEMBLER_NAME (decl);<BR>> <BR>> We need a void_type_node there -- void_list_node now captures that <BR>> properly.<BR>> <BR>> > /* Quit if we hit an incomplete type. Error is reported<BR>> > by convert_arguments in c-typeck.c or cp/typeck.c. */<BR>> <BR>> I wonder if the remaining problem with the wrong @N value is because <BR>> we don't have a complete type on the formals?<BR>> <BR>> > while (TREE_VALUE (formal_type) != void_type_node<BR>> > && COMPLETE_TYPE_P (TREE_VALUE (formal_type))) <BR>> > {<BR>> > int parm_size<BR>> > = TREE_INT_CST_LOW (TYPE_SIZE (TREE_VALUE (formal_type)));<BR>> > /* Must round up to include padding. This is done the same<BR>> > way as in store_one_arg. */<BR>> > parm_size = ((parm_size + PARM_BOUNDARY - 1)<BR>> > / PARM_BOUNDARY * PARM_BOUNDARY);<BR>> > total += parm_size;<BR>> > formal_type = TREE_CHAIN (formal_type);\<BR>> > }<BR>> > }<BR>> <BR>> <BR><BR><br /><hr />Climb to the top of the charts! Play the word scramble challenge with star power. <a href='http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_jan' target='_new'>Play now!</a></body>
</html>