diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-09-23 09:02:26 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-09-23 09:02:26 +0200 |
commit | 457ff6a1d01865e2134912402a674d30ec898d76 (patch) | |
tree | 7c1c92cf055d5b06f15fc709e254177e2a35518f | |
parent | be12343976ff4b516eb80c983d9ad613ff9a2593 (diff) | |
download | gcc-457ff6a1d01865e2134912402a674d30ec898d76.zip gcc-457ff6a1d01865e2134912402a674d30ec898d76.tar.gz gcc-457ff6a1d01865e2134912402a674d30ec898d76.tar.bz2 |
re PR debug/41411 (ICE: mem_loc_descriptor, at dwarf2out.c:11616)
* dwarf2out.c (loc_list_plus_const): Only define if
DWARF2_DEBUGGING_INFO.
(address_of_int_loc_descriptor): Likewise.
PR debug/41411
* dwarf2out.c (mem_loc_descriptor): Handle HIGH.
From-SVN: r152059
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 8 |
2 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ee5b37..ccab5ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,14 @@ -2009-09-23 Uros Bizjak <ubizjak@gmail.com> +2009-09-23 Jakub Jelinek <jakub@redhat.com> + Jan Hubicka <jh@suse.cz> + + * dwarf2out.c (loc_list_plus_const): Only define if + DWARF2_DEBUGGING_INFO. + (address_of_int_loc_descriptor): Likewise. + + PR debug/41411 + * dwarf2out.c (mem_loc_descriptor): Handle HIGH. + +2009-09-23 Uros Bizjak <ubizjak@gmail.com> PR c/39779 * c-typeck.c (build_binary_op) <short_shift>: Check that integer diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index f25b18b..a2e91d4 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -4657,6 +4657,7 @@ loc_descr_plus_const (dw_loc_descr_ref *list_head, HOST_WIDE_INT offset) } } +#ifdef DWARF2_DEBUGGING_INFO /* Add a constant OFFSET to a location list. */ static void @@ -4666,6 +4667,7 @@ loc_list_plus_const (dw_loc_list_ref list_head, HOST_WIDE_INT offset) for (d = list_head; d != NULL; d = d->dw_loc_next) loc_descr_plus_const (&d->expr, offset); } +#endif /* Return the size of a location descriptor. */ @@ -10896,7 +10898,9 @@ int_loc_descriptor (HOST_WIDE_INT i) return new_loc_descr (op, i, 0); } +#endif +#ifdef DWARF2_DEBUGGING_INFO /* Return loc description representing "address" of integer value. This can appear only as toplevel expression. */ @@ -10957,9 +10961,6 @@ address_of_int_loc_descriptor (int size, HOST_WIDE_INT i) loc_result->dw_loc_oprnd2.v.val_int = i; return loc_result; } -#endif - -#ifdef DWARF2_DEBUGGING_INFO /* Return a location descriptor that designates a base+offset location. */ @@ -11675,6 +11676,7 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, case PARITY: case ASM_OPERANDS: case UNSPEC: + case HIGH: /* If delegitimize_address couldn't do anything with the UNSPEC, we can't express it in the debug info. This can happen e.g. with some TLS UNSPECs. */ |