From: Chris Demetriou Date: Fri, 27 Jun 2003 22:43:38 +0000 (+0000) Subject: mips.c (mips_build_va_list): Make padding in va_list structure explicit to avoid... X-Git-Tag: releases/gcc-3.4.0~5396 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7a0ec6071b687c061bafa7d68d17bee4377bb618;p=thirdparty%2Fgcc.git mips.c (mips_build_va_list): Make padding in va_list structure explicit to avoid -Wpadded warnings. 2003-06-27 Chris Demetriou * config/mips/mips.c (mips_build_va_list): Make padding in va_list structure explicit to avoid -Wpadded warnings. From-SVN: r68613 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8a6872fc14e2..3f9eac5a53d8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-27 Chris Demetriou + + * config/mips/mips.c (mips_build_va_list): Make padding in + va_list structure explicit to avoid -Wpadded warnings. + 2003-06-27 Ulrich Weigand * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index ef43a1af2814..d909e4e3f97a 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -4273,7 +4273,8 @@ mips_build_va_list () { if (EABI_FLOAT_VARARGS_P) { - tree f_ovfl, f_gtop, f_ftop, f_goff, f_foff, record; + tree f_ovfl, f_gtop, f_ftop, f_goff, f_foff, f_res, record; + tree array, index; record = make_node (RECORD_TYPE); @@ -4287,19 +4288,26 @@ mips_build_va_list () unsigned_char_type_node); f_foff = build_decl (FIELD_DECL, get_identifier ("__fpr_offset"), unsigned_char_type_node); - + /* Explicitly pad to the size of a pointer, so that -Wpadded won't + warn on every user file. */ + index = build_int_2 (GET_MODE_SIZE (ptr_mode) - 2 - 1, 0); + array = build_array_type (unsigned_char_type_node, + build_index_type (index)); + f_res = build_decl (FIELD_DECL, get_identifier ("__reserved"), array); DECL_FIELD_CONTEXT (f_ovfl) = record; DECL_FIELD_CONTEXT (f_gtop) = record; DECL_FIELD_CONTEXT (f_ftop) = record; DECL_FIELD_CONTEXT (f_goff) = record; DECL_FIELD_CONTEXT (f_foff) = record; + DECL_FIELD_CONTEXT (f_res) = record; TYPE_FIELDS (record) = f_ovfl; TREE_CHAIN (f_ovfl) = f_gtop; TREE_CHAIN (f_gtop) = f_ftop; TREE_CHAIN (f_ftop) = f_goff; TREE_CHAIN (f_goff) = f_foff; + TREE_CHAIN (f_foff) = f_res; layout_type (record); return record;