/* Multiple source language support for GDB.
- Copyright (C) 1991-2019 Free Software Foundation, Inc.
+ Copyright (C) 1991-2020 Free Software Foundation, Inc.
Contributed by the Department of Computer Science at the State University
of New York at Buffalo.
return NULL;
}
-/* Return non-zero if TYPE should be passed (and returned) by
- reference at the language level. */
-int
+/* Return information about whether TYPE should be passed
+ (and returned) by reference at the language level. */
+
+struct language_pass_by_ref_info
language_pass_by_reference (struct type *type)
{
return current_language->la_pass_by_reference (type);
}
-/* Return zero; by default, types are passed by value at the language
- level. The target ABI may pass or return some structs by reference
- independent of this. */
-int
+/* Return a default struct that provides pass-by-reference information
+ about the given TYPE. Languages should update the default values
+ as appropriate. */
+
+struct language_pass_by_ref_info
default_pass_by_reference (struct type *type)
{
- return 0;
+ return {};
}
/* Return the default string containing the list of characters
fprintf_filtered (stream, "] = ");
}
-void
-default_get_string (struct value *value,
- gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
- int *length, struct type **char_type, const char **charset)
-{
- error (_("Getting a string is unsupported in this language."));
-}
-
/* See language.h. */
bool
unknown_language_arch_info, /* la_language_arch_info. */
default_print_array_index,
default_pass_by_reference,
- default_get_string,
c_watch_location_expression,
NULL, /* la_get_symbol_name_matcher */
iterate_over_symbols,
unknown_language_arch_info, /* la_language_arch_info. */
default_print_array_index,
default_pass_by_reference,
- default_get_string,
c_watch_location_expression,
NULL, /* la_get_symbol_name_matcher */
iterate_over_symbols,
gdb_assert (!TYPE_OBJFILE_OWNED (type));
gdbarch = TYPE_OWNER (type).gdbarch;
- symbol = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct symbol);
+ symbol = new (gdbarch_obstack (gdbarch)) struct symbol ();
- symbol->ginfo.name = TYPE_NAME (type);
- symbol->ginfo.language = lang;
+ symbol->m_name = TYPE_NAME (type);
+ symbol->set_language (lang, nullptr);
symbol->owner.arch = gdbarch;
SYMBOL_OBJFILE_OWNED (symbol) = 0;
SYMBOL_TYPE (symbol) = type;