From patchwork Tue Aug 31 12:22:59 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bootstrap/45321] Unbreak ARM bootstrap Date: Tue, 31 Aug 2010 02:22:59 -0000 From: Ramana Radhakrishnan X-Patchwork-Id: 63238 Message-Id: <1283257379.9521.8.camel@e102325-lin.cambridge.arm.com> To: gcc-patches@gcc.gnu.org Cc: mikpe@it.uu.se, froyndnj@codesourcery.com Hi, This patch attached to the bug report thanks to Mikael fixes bootstrap for ARM thanks to the changes to use stdarg_p and whether const trees are used or not. Bootstrap fixed on ARM and moves further to the next set of errors with PR45444 which I believe Mikael has a patch in the works for. Also bootstrapped and tested on x86_64. Ok to commit to trunk? cheers Ramana Mikael Pettersson PR bootstrap/45321 * gcc/tree.c (stdarg_p): Make fntype parameter const. * gcc/tree.h (stdarg_p): Likewise. (function_args_iterator): Remove unused fntype field. (function_args_iter_init): Do not initialize fntype field. Make fntype parameter const. Index: gcc/tree.c =================================================================== --- gcc/tree.c (revision 163581) +++ gcc/tree.c (working copy) @@ -10508,7 +10508,7 @@ /* Return true if TYPE has a variable argument list. */ bool -stdarg_p (tree fntype) +stdarg_p (const_tree fntype) { function_args_iterator args_iter; tree n = NULL_TREE, t; Index: gcc/tree.h =================================================================== --- gcc/tree.h (revision 163581) +++ gcc/tree.h (working copy) @@ -4767,16 +4767,14 @@ /* Iterator for going through the function arguments. */ typedef struct { - tree fntype; /* function type declaration */ tree next; /* TREE_LIST pointing to the next argument */ } function_args_iterator; /* Initialize the iterator I with arguments from function FNDECL */ static inline void -function_args_iter_init (function_args_iterator *i, tree fntype) +function_args_iter_init (function_args_iterator *i, const_tree fntype) { - i->fntype = fntype; i->next = TYPE_ARG_TYPES (fntype); } @@ -4848,7 +4846,7 @@ extern tree *call_expr_argp (tree, int); extern tree create_artificial_label (location_t); extern const char *get_name (tree); -extern bool stdarg_p (tree); +extern bool stdarg_p (const_tree); extern bool prototype_p (tree); extern bool is_typedef_decl (tree x); extern bool typedef_variant_p (tree);