This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Don't use obstack_empty_p
- From: Doug Evans <dje at google dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 14 Dec 2011 10:38:29 -0800
- Subject: Re: Don't use obstack_empty_p
- References: <m2ipljjj78.fsf@igel.home>
On Wed, Dec 14, 2011 at 6:56 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> The obstack implementation in glibc is has changed in a way so that the
> obstack_empty_p macro from libiberty's obstack.h can return the wrong
> value when applied to an obstack managed by glibc's obstack
> implementation. ?That results in an internal error in
> cp_merge_demangle_parse_infos. ?This is the only use of obstack_empty_p
> in the whole src tree (and gcc doesn't use it either), and no other
> macro in obstack.h is affected by this incompatibility. ?So I would
> suggest to just not use obstack_empty_p.
>
> Andreas.
>
> 2011-12-14 ?Andreas Schwab ?<schwab@linux-m68k.org>
>
> ? ? ? ?* cp-name-parser.y (cp_merge_demangle_parse_infos): Don't use
> ? ? ? ?obstack_empty_p.
>
> diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y
> index f257370..b0262f2 100644
> --- a/gdb/cp-name-parser.y
> +++ b/gdb/cp-name-parser.y
> @@ -2029,9 +2029,6 @@ cp_merge_demangle_parse_infos (struct demangle_parse_info *dest,
> ? ? ?cp_demangled_parse_info_free is called. ?*/
> ? src->info = NULL;
>
> - ?/* Assert if the SRC obstack is not empty. ?*/
> - ?gdb_assert (obstack_empty_p (&src->obstack));
> -
> ? /* Free SRC. ?*/
> ? cp_demangled_name_parse_free (src);
> ?}
LGTM