re PR debug/60655 (ICE: output_operand: invalid expression as operand)
authorAlan Modra <amodra@gmail.com>
Thu, 4 Sep 2014 12:18:25 +0000 (21:48 +0930)
committerAlan Modra <amodra@gcc.gnu.org>
Thu, 4 Sep 2014 12:18:25 +0000 (21:48 +0930)
PR debug/60655
* dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
can't be output.

From-SVN: r214899

gcc/ChangeLog
gcc/dwarf2out.c

index 94cf799dec76e9628a1f576c2109758a8c2de09e..90af3d4c7d8b63c75d5e28a19c8b0109ab90136c 100644 (file)
@@ -1,3 +1,9 @@
+2014-09-04  Alan Modra  <amodra@gmail.com>
+
+       PR debug/60655
+       * dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
+       can't be output.
+
 2014-09-03  Matthew Fortune  <matthew.fortune@imgtec.com>
 
        * target.def (TARGET_DWARF_FRAME_REG_MODE): New target hook.
index 21afc3fe21ea4123e8703b4e0ba8ead899169198..23a80d831cbea38bb9d5d134e77936a0863ede93 100644 (file)
@@ -12699,7 +12699,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));