builtins.c (std_canonical_va_list): Treat structure based va_list types.
2008-07-15 Kai Tietz <kai.tietz@onevision.com> * builtins.c (std_canonical_va_list): Treat structure based va_list types. From-SVN: r137819
This commit is contained in:
parent
7ce841d2c8
commit
e65d1ec6b0
2 changed files with 9 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-07-15 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* builtins.c (std_canonical_va_list): Treat structure based
|
||||
va_list types.
|
||||
|
||||
2008-07-15 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* emit-rtl.c (set_mem_attributes_minus_bitpos): Improve comment.
|
||||
|
|
|
@ -4691,10 +4691,12 @@ std_canonical_va_list_type (tree type)
|
|||
type = TREE_TYPE (type);
|
||||
else if (POINTER_TYPE_P (type) && POINTER_TYPE_P (TREE_TYPE(type)))
|
||||
type = TREE_TYPE (type);
|
||||
|
||||
wtype = va_list_type_node;
|
||||
htype = type;
|
||||
if (TREE_CODE (wtype) == ARRAY_TYPE)
|
||||
/* Treat structure va_list types. */
|
||||
if (TREE_CODE (wtype) == RECORD_TYPE && POINTER_TYPE_P (htype))
|
||||
htype = TREE_TYPE (htype);
|
||||
else if (TREE_CODE (wtype) == ARRAY_TYPE)
|
||||
{
|
||||
/* If va_list is an array type, the argument may have decayed
|
||||
to a pointer type, e.g. by being passed to another function.
|
||||
|
|
Loading…
Add table
Reference in a new issue