diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2010-06-07 22:15:47 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2010-06-07 22:15:47 +0000 |
commit | 10575b5dc4edd7e12b480ea0e1ce1c6de8be7d5c (patch) | |
tree | f60785d0c9f35f880f450d9fe2ef48ce2f290648 /gcc/config/sh | |
parent | f2580bd8c08c67a0ccfd85ed75c36b3b25aa566a (diff) | |
download | gcc-10575b5dc4edd7e12b480ea0e1ce1c6de8be7d5c.zip gcc-10575b5dc4edd7e12b480ea0e1ce1c6de8be7d5c.tar.gz gcc-10575b5dc4edd7e12b480ea0e1ce1c6de8be7d5c.tar.bz2 |
sh.c (sh_build_builtin_va_list): Set tree type name of RECORD.
* config/sh/sh.c (sh_build_builtin_va_list): Set tree type
name of RECORD.
From-SVN: r160409
Diffstat (limited to 'gcc/config/sh')
-rw-r--r-- | gcc/config/sh/sh.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index abd579a..e186a10 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -7636,13 +7636,15 @@ static tree sh_build_builtin_va_list (void) { tree f_next_o, f_next_o_limit, f_next_fp, f_next_fp_limit, f_next_stack; - tree record; + tree record, type_decl; if (TARGET_SH5 || (! TARGET_SH2E && ! TARGET_SH4) || TARGET_HITACHI || sh_cfun_attr_renesas_p ()) return ptr_type_node; record = (*lang_hooks.types.make_type) (RECORD_TYPE); + type_decl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__va_list_tag"), record); f_next_o = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("__va_next_o"), @@ -7668,6 +7670,8 @@ sh_build_builtin_va_list (void) DECL_FIELD_CONTEXT (f_next_fp_limit) = record; DECL_FIELD_CONTEXT (f_next_stack) = record; + TREE_CHAIN (record) = type_decl; + TYPE_NAME (record) = type_decl; TYPE_FIELDS (record) = f_next_o; TREE_CHAIN (f_next_o) = f_next_o_limit; TREE_CHAIN (f_next_o_limit) = f_next_fp; |