X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Flanguage.c;h=76efc497379bf479aba7abdeeed1137ba3c95189;hb=d3ecddab5fc036fb57588a9bfff73575dc419052;hp=a7c09ccd6dbcfd7623beb60766f34ba815575eda;hpb=89549d7f4d27b63c4aaab4456e21dab1ee96a40a;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/language.c b/gdb/language.c index a7c09ccd6d..76efc49737 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -45,6 +45,7 @@ #include "frame.h" #include "c-lang.h" #include +#include "gdbarch.h" static int unk_lang_parser (struct parser_state *); @@ -111,10 +112,9 @@ static const char *language; static const char *range; static const char *case_sensitive; -/* Warning issued when current_language and the language of the current - frame do not match. */ -char lang_frame_mismatch_warn[] = -"Warning: the current language does not match this frame."; +/* See language.h. */ +const char lang_frame_mismatch_warn[] = +N_("Warning: the current language does not match this frame."); /* This page contains the functions corresponding to GDB commands and their helpers. */ @@ -146,7 +146,7 @@ show_language_command (struct ui_file *file, int from_tty, if (flang != language_unknown && language_mode == language_mode_manual && current_language->la_language != flang) - printf_filtered ("%s\n", lang_frame_mismatch_warn); + printf_filtered ("%s\n", _(lang_frame_mismatch_warn)); } } @@ -690,14 +690,6 @@ default_print_array_index (struct value *index_value, struct ui_file *stream, fprintf_filtered (stream, "] = "); } -void -default_get_string (struct value *value, - gdb::unique_xmalloc_ptr *buffer, - int *length, struct type **char_type, const char **charset) -{ - error (_("Getting a string is unsupported in this language.")); -} - /* See language.h. */ bool @@ -885,7 +877,6 @@ const struct language_defn unknown_language_defn = 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, @@ -937,7 +928,6 @@ const struct language_defn auto_language_defn = 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, @@ -1058,10 +1048,10 @@ language_alloc_type_symbol (enum language lang, struct type *type) 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->name = TYPE_NAME (type); + symbol->set_language (lang, nullptr); symbol->owner.arch = gdbarch; SYMBOL_OBJFILE_OWNED (symbol) = 0; SYMBOL_TYPE (symbol) = type; @@ -1172,16 +1162,16 @@ _initialize_language (void) add_setshow_enum_cmd ("range", class_support, type_or_range_names, &range, - _("Set range checking. (on/warn/off/auto)"), - _("Show range checking. (on/warn/off/auto)"), + _("Set range checking (on/warn/off/auto)."), + _("Show range checking (on/warn/off/auto)."), NULL, set_range_command, show_range_command, &setchecklist, &showchecklist); add_setshow_enum_cmd ("case-sensitive", class_support, case_sensitive_names, &case_sensitive, _("\ -Set case sensitivity in name search. (on/off/auto)"), _("\ -Show case sensitivity in name search. (on/off/auto)"), _("\ +Set case sensitivity in name search (on/off/auto)."), _("\ +Show case sensitivity in name search (on/off/auto)."), _("\ For Fortran the default is off; for other languages the default is on."), set_case_command, show_case_command,