Commit c7a2139b by Richard Henderson

re PR target/31628 (stdcall function is miscompiled)

        PR target/31628
        * config/i386/i386.c (type_has_variadic_args_p): Look for any
        TREE_LIST with a void_type_node value, not void_list_node exactly.

From-SVN: r124014
parent fda0adca
2007-04-20 Richard Henderson <rth@redhat.com>
PR target/31628
* config/i386/i386.c (type_has_variadic_args_p): Look for any
TREE_LIST with a void_type_node value, not void_list_node exactly.
2007-04-21 Douglas Gregor <doug.gregor@gmail.com>
* doc/standards.texi: Re-arrange into language-specific
......
......@@ -2895,12 +2895,15 @@ ix86_eax_live_at_start_p (void)
static bool
type_has_variadic_args_p (tree type)
{
tree t;
tree n, t = TYPE_ARG_TYPES (type);
for (t = TYPE_ARG_TYPES (type); t; t = TREE_CHAIN (t))
if (t == void_list_node)
if (t == NULL)
return false;
return true;
while ((n = TREE_CHAIN (t)) != NULL)
t = n;
return TREE_VALUE (t) != void_type_node;
}
/* Value is the number of bytes of arguments automatically
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment