Commit 64c2816f by David Taylor Committed by Jim Wilson

Patch from David Taylor.

* config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
bytes of padding in the __va_list_tag structure a name (reserved).

From-SVN: r67684
parent 1bfedcc8
2003-06-19 David Taylor <dtaylor@emc.com>
* config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
bytes of padding in the __va_list_tag structure a name (reserved).
2003-06-09 Jason Merrill <jason@redhat.com> 2003-06-09 Jason Merrill <jason@redhat.com>
* fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR. * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
......
...@@ -4180,7 +4180,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) ...@@ -4180,7 +4180,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
tree tree
rs6000_build_va_list () rs6000_build_va_list ()
{ {
tree f_gpr, f_fpr, f_ovf, f_sav, record, type_decl; tree f_gpr, f_fpr, f_res, f_ovf, f_sav, record, type_decl;
/* For AIX, prefer 'char *' because that's what the system /* For AIX, prefer 'char *' because that's what the system
header files like. */ header files like. */
...@@ -4194,6 +4194,10 @@ rs6000_build_va_list () ...@@ -4194,6 +4194,10 @@ rs6000_build_va_list ()
unsigned_char_type_node); unsigned_char_type_node);
f_fpr = build_decl (FIELD_DECL, get_identifier ("fpr"), f_fpr = build_decl (FIELD_DECL, get_identifier ("fpr"),
unsigned_char_type_node); unsigned_char_type_node);
/* Give the two bytes of padding a name, so that -Wpadded won't warn on
every user file. */
f_res = build_decl (FIELD_DECL, get_identifier ("reserved"),
short_unsigned_type_node);
f_ovf = build_decl (FIELD_DECL, get_identifier ("overflow_arg_area"), f_ovf = build_decl (FIELD_DECL, get_identifier ("overflow_arg_area"),
ptr_type_node); ptr_type_node);
f_sav = build_decl (FIELD_DECL, get_identifier ("reg_save_area"), f_sav = build_decl (FIELD_DECL, get_identifier ("reg_save_area"),
...@@ -4201,6 +4205,7 @@ rs6000_build_va_list () ...@@ -4201,6 +4205,7 @@ rs6000_build_va_list ()
DECL_FIELD_CONTEXT (f_gpr) = record; DECL_FIELD_CONTEXT (f_gpr) = record;
DECL_FIELD_CONTEXT (f_fpr) = record; DECL_FIELD_CONTEXT (f_fpr) = record;
DECL_FIELD_CONTEXT (f_res) = record;
DECL_FIELD_CONTEXT (f_ovf) = record; DECL_FIELD_CONTEXT (f_ovf) = record;
DECL_FIELD_CONTEXT (f_sav) = record; DECL_FIELD_CONTEXT (f_sav) = record;
...@@ -4208,7 +4213,8 @@ rs6000_build_va_list () ...@@ -4208,7 +4213,8 @@ rs6000_build_va_list ()
TYPE_NAME (record) = type_decl; TYPE_NAME (record) = type_decl;
TYPE_FIELDS (record) = f_gpr; TYPE_FIELDS (record) = f_gpr;
TREE_CHAIN (f_gpr) = f_fpr; TREE_CHAIN (f_gpr) = f_fpr;
TREE_CHAIN (f_fpr) = f_ovf; TREE_CHAIN (f_fpr) = f_res;
TREE_CHAIN (f_res) = f_ovf;
TREE_CHAIN (f_ovf) = f_sav; TREE_CHAIN (f_ovf) = f_sav;
layout_type (record); layout_type (record);
......
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