diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-06-06 19:46:00 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-06-06 19:46:00 +0200 |
commit | 99a5e049bad4d20dc10a9934cac65102b6b82977 (patch) | |
tree | a9b3d907dbb7b87f41da1781de10e3a0f673d839 | |
parent | 04902d4cb5ca18954cf2c32c4f776e53162a0e8f (diff) | |
download | gcc-99a5e049bad4d20dc10a9934cac65102b6b82977.zip gcc-99a5e049bad4d20dc10a9934cac65102b6b82977.tar.gz gcc-99a5e049bad4d20dc10a9934cac65102b6b82977.tar.bz2 |
re PR debug/49262 (3-yr-old infinite loop in dwarf2out.c)
PR debug/49262
* dwarf2out.c (native_encode_initializer): Decrement count in each
iteration.
From-SVN: r174715
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 967371c..a4164a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2011-06-06 Jakub Jelinek <jakub@redhat.com> + PR debug/49262 + * dwarf2out.c (native_encode_initializer): Decrement count in each + iteration. + PR debug/49294 * dwarf2out.c (mem_loc_descriptor) <do_shift>: Give up for non-MODE_INT modes. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 0fa7f91..776066b 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -18065,7 +18065,7 @@ native_encode_initializer (tree init, unsigned char *array, int size) { int count = tree_low_cst (TREE_OPERAND (index, 1), 0) - tree_low_cst (TREE_OPERAND (index, 0), 0); - while (count > 0) + while (count-- > 0) { if (val) memcpy (array + curpos, array + pos, fieldsize); |