+Wed May 6 14:12:35 1992 Fred Fish (fnf@cygnus.com)
+
+ * cplus-dem.c (do_args): Handle void args the same as others.
+ * objfiles.c (free_objfile): Only try to unmap files when
+ reusable objfiles are supported.
+ * valprint.c (type_print_varspec_suffix): Add parameter that
+ specifies if C++ demangling included function arguments. Use
+ it to suppress printing extra pair of ()'s.
+ * valprint.c (type_print_1): Fix problem with printing demangled
+ C++ function types where demangled type includes the function
+ args.
+
Tue May 5 11:10:27 1992 Fred Fish (fnf@cygnus.com)
* Makefile.in (DEMANGLER): Define and default to cplus-dem.
if (PRINT_ARG_TYPES)
string_append (decl, "(");
- while (**type != '_' && **type != '\0' && **type != 'e' && **type != 'v')
+ while (**type != '_' && **type != '\0' && **type != 'e')
{
if (**type == 'N')
{
}
}
- if (**type == 'v')
- *type += 1;
- else if (**type == 'e')
+ if (**type == 'e')
{
*type += 1;
if (PRINT_ARG_TYPES)
case. Note that the mmalloc_detach or the mfree is the last thing
we can do with this objfile. */
+#if !defined(NO_MMALLOC) && defined(HAVE_MMAP)
+
if (objfile -> flags & OBJF_MAPPED)
{
/* Remember the fd so we can close it. We can't close it before
doing the detach, and after the detach the objfile is gone. */
mmfd = objfile -> mmfd;
mmalloc_detach (objfile -> md);
+ objfile = NULL;
(void) close (mmfd);
}
- else
+
+#endif /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */
+
+ /* If we still have an objfile, then either we don't support reusable
+ objfiles or this one was not reusable. So free it normally. */
+
+ if (objfile != NULL)
{
if (objfile -> name != NULL)
{
obstack_free (&objfile -> symbol_obstack, 0);
obstack_free (&objfile -> type_obstack, 0);
mfree (objfile -> md, objfile);
+ objfile = NULL;
}
}