struct language_pass_by_ref_info
language_pass_by_reference (struct type *type)
{
- return current_language->la_pass_by_reference (type);
-}
-
-/* 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 {};
+ return current_language->pass_by_reference_info (type);
}
/* Return the default string containing the list of characters
default_print_typedef, /* Print a typedef using appropriate syntax */
unk_lang_value_print_inner, /* la_value_print_inner */
unk_lang_value_print, /* Print a top-level value */
- default_read_var_value, /* la_read_var_value */
unk_lang_trampoline, /* Language specific skip_trampoline */
"this", /* name_of_this */
true, /* store_sym_names_in_linkage_form_p */
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
- basic_lookup_transparent_type,/* lookup_transparent_type */
unk_lang_demangle, /* Language specific symbol demangler */
NULL,
unk_lang_class_name, /* Language specific
0, /* String lower bound */
default_word_break_characters,
default_collect_symbol_completion_matches,
- unknown_language_arch_info, /* la_language_arch_info. */
- default_pass_by_reference,
c_watch_location_expression,
NULL, /* la_get_symbol_name_matcher */
- iterate_over_symbols,
default_search_name_hash,
&default_varobj_ops,
NULL,
unknown_language ()
: language_defn (language_unknown, unknown_language_data)
{ /* Nothing. */ }
+
+ /* See language.h. */
+ void language_arch_info (struct gdbarch *gdbarch,
+ struct language_arch_info *lai) const override
+ {
+ unknown_language_arch_info (gdbarch, lai);
+ }
};
/* Single instance of the unknown language class. */
default_print_typedef, /* Print a typedef using appropriate syntax */
unk_lang_value_print_inner, /* la_value_print_inner */
unk_lang_value_print, /* Print a top-level value */
- default_read_var_value, /* la_read_var_value */
unk_lang_trampoline, /* Language specific skip_trampoline */
"this", /* name_of_this */
false, /* store_sym_names_in_linkage_form_p */
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
- basic_lookup_transparent_type,/* lookup_transparent_type */
unk_lang_demangle, /* Language specific symbol demangler */
NULL,
unk_lang_class_name, /* Language specific
0, /* String lower bound */
default_word_break_characters,
default_collect_symbol_completion_matches,
- unknown_language_arch_info, /* la_language_arch_info. */
- default_pass_by_reference,
c_watch_location_expression,
NULL, /* la_get_symbol_name_matcher */
- iterate_over_symbols,
default_search_name_hash,
&default_varobj_ops,
NULL,
auto_language ()
: language_defn (language_auto, auto_language_data)
{ /* Nothing. */ }
+
+ /* See language.h. */
+ void language_arch_info (struct gdbarch *gdbarch,
+ struct language_arch_info *lai) const override
+ {
+ unknown_language_arch_info (gdbarch, lai);
+ }
};
/* Single instance of the fake "auto" language. */
l = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct language_gdbarch);
for (const auto &lang : language_defn::languages)
- if (lang != NULL && lang->la_language_arch_info != NULL)
- {
- lang->la_language_arch_info (gdbarch,
- l->arch_info + lang->la_language);
- }
+ {
+ gdb_assert (lang != nullptr);
+ lang->language_arch_info (gdbarch,
+ l->arch_info + lang->la_language);
+ }
return l;
}