Commit e65d1ec6 by Kai Tietz Committed by Kai Tietz

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
parent 7ce841d2
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.
......
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