This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[Patch bootstrap/45321] Unbreak ARM bootstrap
- From: Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: mikpe at it dot uu dot se, froyndnj at codesourcery dot com
- Date: Tue, 31 Aug 2010 13:22:59 +0100
- Subject: [Patch bootstrap/45321] Unbreak ARM bootstrap
- Reply-to: ramana dot radhakrishnan at arm dot 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 <mikpe@it.uu.se>
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);