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) ...@@ -2622,10 +2622,14 @@ instantiate_decls (fndecl, valid_only)
/* Process all parameters of the function. */ /* Process all parameters of the function. */
for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl)) for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl))
{ {
instantiate_decl (DECL_RTL (decl), int_size_in_bytes (TREE_TYPE (decl)), int size = int_size_in_bytes (TREE_TYPE (decl));
valid_only); instantiate_decl (DECL_RTL (decl), size, valid_only);
instantiate_decl (DECL_INCOMING_RTL (decl),
int_size_in_bytes (TREE_TYPE (decl)), 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. */ /* 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