gdb/tui: fairer distribution of excess space during apply
[binutils-gdb.git] / gdb / language.c
index 132ff76981766210404f67afdef17693806b8502..af58a374dd6d52a281ff7f3ce09335d23bfb370d 100644 (file)
@@ -114,14 +114,14 @@ show_language_command (struct ui_file *file, int from_tty,
   enum language flang;         /* The language of the frame.  */
 
   if (language_mode == language_mode_auto)
-    fprintf_filtered (file,
-                     _("The current source language is "
-                       "\"auto; currently %s\".\n"),
-                     current_language->name ());
+    gdb_printf (file,
+               _("The current source language is "
+                 "\"auto; currently %s\".\n"),
+               current_language->name ());
   else
-    fprintf_filtered (file,
-                     _("The current source language is \"%s\".\n"),
-                     current_language->name ());
+    gdb_printf (file,
+               _("The current source language is \"%s\".\n"),
+               current_language->name ());
 
   if (has_stack_frames ())
     {
@@ -132,7 +132,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)
-       fprintf_filtered (file, "%s\n", _(lang_frame_mismatch_warn));
+       gdb_printf (file, "%s\n", _(lang_frame_mismatch_warn));
     }
 }
 
@@ -220,13 +220,13 @@ show_range_command (struct ui_file *file, int from_tty,
                          "Unrecognized range check setting.");
        }
 
-      fprintf_filtered (file,
-                       _("Range checking is \"auto; currently %s\".\n"),
-                       tmp);
+      gdb_printf (file,
+                 _("Range checking is \"auto; currently %s\".\n"),
+                 tmp);
     }
   else
-    fprintf_filtered (file, _("Range checking is \"%s\".\n"),
-                     value);
+    gdb_printf (file, _("Range checking is \"%s\".\n"),
+               value);
 
   if (range_check == range_check_warn
       || ((range_check == range_check_on)
@@ -296,15 +296,15 @@ show_case_command (struct ui_file *file, int from_tty,
                          "Unrecognized case-sensitive setting.");
        }
 
-      fprintf_filtered (file,
-                       _("Case sensitivity in "
-                         "name search is \"auto; currently %s\".\n"),
-                       tmp);
+      gdb_printf (file,
+                 _("Case sensitivity in "
+                   "name search is \"auto; currently %s\".\n"),
+                 tmp);
     }
   else
-    fprintf_filtered (file,
-                     _("Case sensitivity in name search is \"%s\".\n"),
-                     value);
+    gdb_printf (file,
+               _("Case sensitivity in name search is \"%s\".\n"),
+               value);
 
   if (case_sensitivity != current_language->case_sensitivity ())
     warning (_("the current case sensitivity setting does not match "
@@ -383,8 +383,8 @@ language_info ()
     return;
 
   expected_language = current_language;
-  printf_unfiltered (_("Current language:  %s\n"), language);
-  show_language_command (NULL, 1, NULL, NULL);
+  gdb_printf (_("Current language:  %s\n"), language);
+  show_language_command (gdb_stdout, 1, NULL, NULL);
 }
 \f
 /* This page contains functions for the printing out of
@@ -414,8 +414,8 @@ range_error (const char *string,...)
     case range_check_off:
       /* FIXME: cagney/2002-01-30: Should this function print anything
         when range error is off?  */
-      vfprintf_filtered (gdb_stderr, string, args);
-      fprintf_filtered (gdb_stderr, "\n");
+      gdb_vprintf (gdb_stderr, string, args);
+      gdb_printf (gdb_stderr, "\n");
       break;
     default:
       internal_error (__FILE__, __LINE__, _("bad switch"));
@@ -476,7 +476,8 @@ add_set_language_command ()
   /* Display "auto", "local" and "unknown" first, and then the rest,
      alpha sorted.  */
   const char **language_names_p = language_names;
-  *language_names_p++ = language_def (language_auto)->name ();
+  language = language_def (language_auto)->name ();
+  *language_names_p++ = language;
   *language_names_p++ = "local";
   *language_names_p++ = language_def (language_unknown)->name ();
   const char **sort_begin = language_names_p;
@@ -588,9 +589,9 @@ language_defn::print_array_index (struct type *index_type, LONGEST index,
 {
   struct value *index_value = value_from_longest (index_type, index);
 
-  fprintf_filtered (stream, "[");
+  gdb_printf (stream, "[");
   value_print (index_value, stream, options);
-  fprintf_filtered (stream, "] = ");
+  gdb_printf (stream, "] = ");
 }
 
 /* See language.h.  */
@@ -974,7 +975,7 @@ language_arch_info::bool_type () const
       sym = lookup_symbol (m_bool_type_name, NULL, VAR_DOMAIN, NULL).symbol;
       if (sym != nullptr)
        {
-         struct type *type = SYMBOL_TYPE (sym);
+         struct type *type = sym->type ();
          if (type != nullptr && type->code () == TYPE_CODE_BOOL)
            return type;
        }
@@ -997,11 +998,11 @@ language_arch_info::type_and_symbol::alloc_type_symbol
   symbol->m_name = type->name ();
   symbol->set_language (lang, nullptr);
   symbol->owner.arch = gdbarch;
-  SYMBOL_OBJFILE_OWNED (symbol) = 0;
+  symbol->set_is_objfile_owned (0);
   symbol->set_section_index (0);
-  SYMBOL_TYPE (symbol) = type;
-  SYMBOL_DOMAIN (symbol) = VAR_DOMAIN;
-  SYMBOL_ACLASS_INDEX (symbol) = LOC_TYPEDEF;
+  symbol->set_type (type);
+  symbol->set_domain (VAR_DOMAIN);
+  symbol->set_aclass_index (LOC_TYPEDEF);
   return symbol;
 }
 
@@ -1103,16 +1104,16 @@ language_lookup_primitive_type_as_symbol (const struct language_defn *la,
   struct language_arch_info *lai = &ld->arch_info[la->la_language];
 
   if (symbol_lookup_debug)
-    fprintf_unfiltered (gdb_stdlog,
-                       "language_lookup_primitive_type_as_symbol"
-                       " (%s, %s, %s)",
-                       la->name (), host_address_to_string (gdbarch), name);
+    gdb_printf (gdb_stdlog,
+               "language_lookup_primitive_type_as_symbol"
+               " (%s, %s, %s)",
+               la->name (), host_address_to_string (gdbarch), name);
 
   struct symbol *sym
     = lai->lookup_primitive_type_as_symbol (name, la->la_language);
 
   if (symbol_lookup_debug)
-    fprintf_unfiltered (gdb_stdlog, " = %s\n", host_address_to_string (sym));
+    gdb_printf (gdb_stdlog, " = %s\n", host_address_to_string (sym));
 
   /* Note: The result of symbol lookup is normally a symbol *and* the block
      it was found in.  Builtin types don't live in blocks.  We *could* give
@@ -1150,6 +1151,8 @@ _initialize_language ()
   add_alias_cmd ("c", setshow_check_cmds.show, no_class, 1, &showlist);
   add_alias_cmd ("ch", setshow_check_cmds.show, no_class, 1, &showlist);
 
+  range = type_or_range_names[3];
+  gdb_assert (strcmp (range, "auto") == 0);
   add_setshow_enum_cmd ("range", class_support, type_or_range_names,
                        &range,
                        _("Set range checking (on/warn/off/auto)."),
@@ -1158,6 +1161,8 @@ _initialize_language ()
                        show_range_command,
                        &setchecklist, &showchecklist);
 
+  case_sensitive = case_sensitive_names[2];
+  gdb_assert (strcmp (case_sensitive, "auto") == 0);
   add_setshow_enum_cmd ("case-sensitive", class_support, case_sensitive_names,
                        &case_sensitive, _("\
 Set case sensitivity in name search (on/off/auto)."), _("\
@@ -1174,10 +1179,6 @@ For Fortran the default is off; for other languages the default is on."),
 
   add_set_language_command ();
 
-  language = "auto";
-  range = "auto";
-  case_sensitive = "auto";
-
   /* Have the above take effect.  */
   set_language (language_auto);
 }