This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix sdbout.c bootstrap breakage [was Re: For backend maintainers: changes for C++ compatibility]
- From: Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 21 Apr 2009 18:43:30 +0100
- Subject: [PATCH] Fix sdbout.c bootstrap breakage [was Re: For backend maintainers: changes for C++ compatibility]
- References: <m3skk3f1wx.fsf@google.com>
Ian Lance Taylor wrote:
> Adding these warnings to -Wc++-compat may break bootstrap for other
> platforms, [ ... ] These warnings are normally
> straightforward to fix.
Indeed, I think the arguments to eliminate_regs in sdbout.c probably won't
be wrapped in mems, but I didn't quite want to say this was obvious because
maybe there's something I didn't consider with passed-in-memory args. Is this
correct? It certainly lets my bootstrap get past stage 2.
gcc/ChangeLog
* sdbout.c (sdbout_symbol): Pass VOIDmode to eliminate_regs.
(sdbout_parms): Likewise.
cheers,
DaveK
Index: gcc/sdbout.c
===================================================================
--- gcc/sdbout.c (revision 146515)
+++ gcc/sdbout.c (working copy)
@@ -771,7 +771,7 @@
return;
SET_DECL_RTL (decl,
- eliminate_regs (DECL_RTL (decl), 0, NULL_RTX));
+ eliminate_regs (DECL_RTL (decl), VOIDmode, NULL_RTX));
#ifdef LEAF_REG_REMAP
if (current_function_uses_only_leaf_regs)
leaf_renumber_regs_insn (DECL_RTL (decl));
@@ -1271,9 +1271,9 @@
/* Perform any necessary register eliminations on the parameter's rtl,
so that the debugging output will be accurate. */
DECL_INCOMING_RTL (parms)
- = eliminate_regs (DECL_INCOMING_RTL (parms), 0, NULL_RTX);
+ = eliminate_regs (DECL_INCOMING_RTL (parms), VOIDmode, NULL_RTX);
SET_DECL_RTL (parms,
- eliminate_regs (DECL_RTL (parms), 0, NULL_RTX));
+ eliminate_regs (DECL_RTL (parms), VOIDmode, NULL_RTX));
if (PARM_PASSED_IN_MEMORY (parms))
{