Commit ce717ce4 by Jim Wilson

(instantiate_decls): For DECL_INCOMING_RTL, use max

of type size and mode size in instantiate_decl call.

From-SVN: r13933
parent 09817d8c
......@@ -2622,10 +2622,14 @@ instantiate_decls (fndecl, valid_only)
/* Process all parameters of the function. */
for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl))
{
instantiate_decl (DECL_RTL (decl), int_size_in_bytes (TREE_TYPE (decl)),
valid_only);
instantiate_decl (DECL_INCOMING_RTL (decl),
int_size_in_bytes (TREE_TYPE (decl)), valid_only);
int size = int_size_in_bytes (TREE_TYPE (decl));
instantiate_decl (DECL_RTL (decl), size, valid_only);
/* If the parameter was promoted, then the incoming RTL mode may be
larger than the declared type size. We must use the larger of
the two sizes. */
size = MAX (GET_MODE_SIZE (GET_MODE (DECL_INCOMING_RTL (decl))), size);
instantiate_decl (DECL_INCOMING_RTL (decl), size, valid_only);
}
/* Now process all variables defined in the function or its subblocks. */
......
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