diff options
-rw-r--r-- | libiberty/ChangeLog | 6 | ||||
-rw-r--r-- | libiberty/obstack.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 05b60d8..6d3b295 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,5 +1,11 @@ 2015-11-09 Alan Modra <amodra@gmail.com> + * obstack.c (_obstack_newchunk): Silence -Wc++compat warning. + (_obstack_begin_worker): Likewise. Move assignment to h->chunk + after alloc failure check. + +2015-11-09 Alan Modra <amodra@gmail.com> + PR gdb/17133 * obstack.c (__alignof__): Expand alignof_type from alignof.h. (obstack_exit_failure): Don't use exitfail.h. diff --git a/libiberty/obstack.c b/libiberty/obstack.c index 9f34da1..6d8d672 100644 --- a/libiberty/obstack.c +++ b/libiberty/obstack.c @@ -138,9 +138,10 @@ _obstack_begin_worker (struct obstack *h, h->chunk_size = size; h->alignment_mask = alignment - 1; - chunk = h->chunk = call_chunkfun (h, h->chunk_size); + chunk = (struct _obstack_chunk *) call_chunkfun (h, h->chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); + h->chunk = chunk; h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents, alignment - 1); h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; @@ -202,7 +203,7 @@ _obstack_newchunk (struct obstack *h, _OBSTACK_SIZE_T length) /* Allocate and initialize the new chunk. */ if (obj_size <= sum1 && sum1 <= sum2) - new_chunk = call_chunkfun (h, new_size); + new_chunk = (struct _obstack_chunk *) call_chunkfun (h, new_size); if (!new_chunk) (*obstack_alloc_failed_handler)(); h->chunk = new_chunk; |