Commit 698cdd84 by Stan Cox

(i386_return_pops_args): Cleanup extra argument

From-SVN: r11389
parent 4d46c3ce
...@@ -460,31 +460,30 @@ i386_return_pops_args (fundecl, funtype, size) ...@@ -460,31 +460,30 @@ i386_return_pops_args (fundecl, funtype, size)
tree fundecl; tree fundecl;
tree funtype; tree funtype;
int size; int size;
{ {
int rtd = TARGET_RTD; int rtd = TARGET_RTD;
if (TREE_CODE (funtype) == IDENTIFIER_NODE) if (TREE_CODE (funtype) == IDENTIFIER_NODE)
return 0; return 0;
/* Cdecl functions override -mrtd, and never pop the stack */ /* Cdecl functions override -mrtd, and never pop the stack */
if (lookup_attribute ("cdecl", TYPE_ATTRIBUTES (funtype))) if (!lookup_attribute ("cdecl", TYPE_ATTRIBUTES (funtype))) {
/* Stdcall functions will pop the stack if not variable args */
if (lookup_attribute ("stdcall", TYPE_ATTRIBUTES (funtype)))
rtd = 1;
if (rtd
&& (TYPE_ARG_TYPES (funtype) == NULL_TREE
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (funtype))) == void_type_node)))
return size;
}
/* Lose any fake structure return argument */
if (aggregate_value_p (TREE_TYPE (funtype)))
return GET_MODE_SIZE (Pmode);
return 0; return 0;
/* Stdcall functions will pop the stack if not variable args */
if (lookup_attribute ("stdcall", TYPE_ATTRIBUTES (funtype)))
rtd = 1;
if (rtd)
{
if (TYPE_ARG_TYPES (funtype) == NULL_TREE
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (funtype))) == void_type_node))
return size;
if (aggregate_value_p (TREE_TYPE (funtype)))
return GET_MODE_SIZE (Pmode);
}
return 0;
} }
......
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