From bab45a519bf41954925ea33155f4b827d96868e9 Mon Sep 17 00:00:00 2001 From: Franz Sirl Date: Fri, 1 Oct 1999 01:46:41 +0000 Subject: [PATCH] Franz Sirl * rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node for the va_list record. From-SVN: r29746 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f6ef56aaee3..d867659d248 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 30 18:44:50 1999 Franz Sirl + + * rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node + for the va_list record. + Thu Sep 30 18:34:54 1999 Jan Hubicka * i386.c (ix86_adjust_cost): Ignore false ebp dependencies in diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 3c8b81b85ff..26ca580ccd3 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1775,7 +1775,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) tree rs6000_build_va_list () { - tree f_gpr, f_fpr, f_ovf, f_sav, record; + tree f_gpr, f_fpr, f_ovf, f_sav, record, type_decl; tree uchar_type_node; /* Only SVR4 needs something special. */ @@ -1783,6 +1783,7 @@ rs6000_build_va_list () return ptr_type_node; record = make_node (RECORD_TYPE); + type_decl = build_decl (TYPE_DECL, get_identifier ("__va_list_tag"), record); uchar_type_node = make_unsigned_type (CHAR_TYPE_SIZE); f_gpr = build_decl (FIELD_DECL, get_identifier ("gpr"), uchar_type_node); @@ -1797,6 +1798,8 @@ rs6000_build_va_list () DECL_FIELD_CONTEXT (f_ovf) = record; DECL_FIELD_CONTEXT (f_sav) = record; + TREE_CHAIN (record) = type_decl; + TYPE_NAME (record) = type_decl; TYPE_FIELDS (record) = f_gpr; TREE_CHAIN (f_gpr) = f_fpr; TREE_CHAIN (f_fpr) = f_ovf;