/* Source-language-related definitions for GDB.
- Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ Copyright (C) 1991-2022 Free Software Foundation, Inc.
Contributed by the Department of Computer Science at the State University
of New York at Buffalo.
The resulting string should be of the form that will be
installed into a symbol. */
- virtual bool sniff_from_mangled_name (const char *mangled,
- char **demangled) const
+ virtual bool sniff_from_mangled_name
+ (const char *mangled, gdb::unique_xmalloc_ptr<char> *demangled) const
{
*demangled = nullptr;
return false;
}
/* Return demangled language symbol version of MANGLED, or NULL. */
- virtual char *demangle_symbol (const char *mangled, int options) const
+ virtual gdb::unique_xmalloc_ptr<char> demangle_symbol (const char *mangled,
+ int options) const
{
return nullptr;
}
/* Return false if the language has first-class arrays. Return true if
there are no array values, and array objects decay to pointers, as in
C. The default is true as currently most supported languages behave
- in this manor. */
+ in this manner. */
virtual bool c_style_arrays_p () const
{ return true; }
&& ((c) < 0x7F || (c) >= 0xA0) \
&& (!sevenbit_strings || (c) < 0x80))
-/* Type predicates */
-
-extern int pointer_type (struct type *);
-
/* Error messages */
extern void range_error (const char *, ...) ATTRIBUTE_PRINTF (1, 2);
-/* Data: Does this value represent "truth" to the current language? */
-
-extern int value_true (struct value *);
-
/* Misc: The string representing a particular enum language. */
extern enum language language_enum (const char *str);
extern CORE_ADDR skip_language_trampoline (struct frame_info *, CORE_ADDR pc);
/* Return demangled language symbol, or NULL. */
-extern char *language_demangle (const struct language_defn *current_language,
- const char *mangled, int options);
+extern gdb::unique_xmalloc_ptr<char> language_demangle
+ (const struct language_defn *current_language,
+ const char *mangled, int options);
/* Return information about whether TYPE should be passed
(and returned) by reference at the language level. */