From 1eb3c2a5b42c5ba72c9ee7f8fb204b5be4e1450b Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 10 Sep 2014 14:32:28 +0930 Subject: [PATCH] re PR debug/60655 (ICE: output_operand: invalid expression as operand) PR debug/60655 * dwarf2out.c (mem_loc_descriptor ): Return NULL if addend can't be output. From-SVN: r215103 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ecd14a43fabb..9a34c8e23065 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-09-10 Alan Modra + + PR debug/60655 + * dwarf2out.c (mem_loc_descriptor ): Return NULL if addend + can't be output. + 2014-09-09 Richard Biener Backport from mainline diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 77771c09b64c..f387e610114a 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -12234,7 +12234,7 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, op1 = mem_loc_descriptor (XEXP (rtl, 1), mode, mem_mode, VAR_INIT_STATUS_INITIALIZED); if (op1 == 0) - break; + return NULL; add_loc_descr (&mem_loc_result, op1); add_loc_descr (&mem_loc_result, new_loc_descr (DW_OP_plus, 0, 0)); -- 2.47.2