This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Don't use obstack_empty_p

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.


2011-12-14  Andreas Schwab  <>

	* cp-name-parser.y (cp_merge_demangle_parse_infos): Don't use

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);

Andreas Schwab,
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]