/* Print values for GNU debugger GDB.
Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
- Foundation, Inc.
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Free Software Foundation, Inc.
This file is part of GDB.
val.size = osize ? 'h' : osize;
else
/* Bad value for TARGET_PTR_BIT */
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
+ internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
break;
case 'f':
/* Floating point has to be word or giantword. */
/* User specified format, so don't look to the
* the type to tell us what to do.
*/
- print_scalar_formatted (VALUE_CONTENTS (val), type,
+ print_scalar_formatted (value_contents (val), type,
format, size, stream);
}
}
print_longest (stream, size, 1, val_long);
break;
default:
- error ("Undefined output size \"%c\".", size);
+ error (_("Undefined output size \"%c\"."), size);
}
break;
break;
case 0:
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
+ internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
case 't':
/* Binary; 't' stands for "two". */
width = 64;
break;
default:
- error ("Undefined output size \"%c\".", size);
+ error (_("Undefined output size \"%c\"."), size);
}
bits[width] = '\0';
break;
default:
- error ("Undefined output format \"%c\".", format);
+ error (_("Undefined output format \"%c\"."), format);
}
}
/* Print address ADDR on STREAM. USE_LOCAL means the same thing as for
print_longest. */
void
-print_address_numeric (CORE_ADDR addr, int use_local, struct ui_file *stream)
+deprecated_print_address_numeric (CORE_ADDR addr, int use_local,
+ struct ui_file *stream)
{
- /* Truncate address to the size of a target address, avoiding shifts
- larger or equal than the width of a CORE_ADDR. The local
- variable ADDR_BIT stops the compiler reporting a shift overflow
- when it won't occur. */
- /* NOTE: This assumes that the significant address information is
- kept in the least significant bits of ADDR - the upper bits were
- either zero or sign extended. Should ADDRESS_TO_POINTER() or
- some ADDRESS_TO_PRINTABLE() be used to do the conversion? */
-
- int addr_bit = TARGET_ADDR_BIT;
-
- if (addr_bit < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
- addr &= ((CORE_ADDR) 1 << addr_bit) - 1;
- print_longest (stream, 'x', use_local, (ULONGEST) addr);
+ if (use_local)
+ fputs_filtered (paddress (addr), stream);
+ else
+ {
+ int addr_bit = TARGET_ADDR_BIT;
+
+ if (addr_bit < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
+ addr &= ((CORE_ADDR) 1 << addr_bit) - 1;
+ print_longest (stream, 'x', 0, (ULONGEST) addr);
+ }
}
/* Print address ADDR symbolically on STREAM.
void
print_address (CORE_ADDR addr, struct ui_file *stream)
{
- print_address_numeric (addr, 1, stream);
+ deprecated_print_address_numeric (addr, 1, stream);
print_address_symbolic (addr, stream, asm_demangle, " ");
}
}
else if (addressprint)
{
- print_address_numeric (addr, 1, stream);
+ deprecated_print_address_numeric (addr, 1, stream);
print_address_symbolic (addr, stream, do_demangle, " ");
}
else
validate_format (struct format_data fmt, char *cmdname)
{
if (fmt.size != 0)
- error ("Size letters are meaningless in \"%s\" command.", cmdname);
+ error (_("Size letters are meaningless in \"%s\" command."), cmdname);
if (fmt.count != 1)
- error ("Item count other than 1 is meaningless in \"%s\" command.",
+ error (_("Item count other than 1 is meaningless in \"%s\" command."),
cmdname);
if (fmt.format == 'i' || fmt.format == 's')
- error ("Format letter \"%c\" is meaningless in \"%s\" command.",
+ error (_("Format letter \"%c\" is meaningless in \"%s\" command."),
fmt.format, cmdname);
}
unsigned int offset;
if (!arg)
- error_no_arg ("address");
+ error_no_arg (_("address"));
addr = parse_and_eval_address (arg);
ALL_OBJSECTIONS (objfile, osect)
printf_filtered ("%s in ",
SYMBOL_PRINT_NAME (msymbol));
if (pc_in_unmapped_range (addr, sect))
- printf_filtered ("load address range of ");
+ printf_filtered (_("load address range of "));
if (section_is_overlay (sect))
- printf_filtered ("%s overlay ",
+ printf_filtered (_("%s overlay "),
section_is_mapped (sect) ? "mapped" : "unmapped");
- printf_filtered ("section %s", sect->name);
+ printf_filtered (_("section %s"), sect->name);
printf_filtered ("\n");
}
}
if (matches == 0)
- printf_filtered ("No symbol matches %s.\n", arg);
+ printf_filtered (_("No symbol matches %s.\n"), arg);
}
static void
if exp is a field of `this'. */
if (exp == 0)
- error ("Argument required.");
+ error (_("Argument required."));
sym = lookup_symbol (exp, get_selected_block (0), VAR_DOMAIN,
&is_a_field_of_this, (struct symtab **) NULL);
fprintf_symbol_filtered (gdb_stdout, exp,
current_language->la_language, DMGL_ANSI);
printf_filtered ("\" is at ");
- print_address_numeric (load_addr, 1, gdb_stdout);
+ deprecated_print_address_numeric (load_addr, 1, gdb_stdout);
printf_filtered (" in a file compiled without debugging");
section = SYMBOL_BFD_SECTION (msymbol);
if (section_is_overlay (section))
{
load_addr = overlay_unmapped_address (load_addr, section);
printf_filtered (",\n -- loaded at ");
- print_address_numeric (load_addr, 1, gdb_stdout);
+ deprecated_print_address_numeric (load_addr, 1, gdb_stdout);
printf_filtered (" in overlay section %s", section->name);
}
printf_filtered (".\n");
}
else
- error ("No symbol \"%s\" in current context.", exp);
+ error (_("No symbol \"%s\" in current context."), exp);
return;
}
case LOC_LABEL:
printf_filtered ("a label at address ");
- print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (sym),
+ deprecated_print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (sym),
1, gdb_stdout);
if (section_is_overlay (section))
{
load_addr = overlay_unmapped_address (load_addr, section);
printf_filtered (",\n -- loaded at ");
- print_address_numeric (load_addr, 1, gdb_stdout);
+ deprecated_print_address_numeric (load_addr, 1, gdb_stdout);
printf_filtered (" in overlay section %s", section->name);
}
break;
break;
case LOC_REGISTER:
- printf_filtered ("a variable in register %s", REGISTER_NAME (val));
+ printf_filtered (_("a variable in register %s"), REGISTER_NAME (val));
break;
case LOC_STATIC:
- printf_filtered ("static storage at address ");
- print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (sym),
+ printf_filtered (_("static storage at address "));
+ deprecated_print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (sym),
1, gdb_stdout);
if (section_is_overlay (section))
{
load_addr = overlay_unmapped_address (load_addr, section);
- printf_filtered (",\n -- loaded at ");
- print_address_numeric (load_addr, 1, gdb_stdout);
- printf_filtered (" in overlay section %s", section->name);
+ printf_filtered (_(",\n -- loaded at "));
+ deprecated_print_address_numeric (load_addr, 1, gdb_stdout);
+ printf_filtered (_(" in overlay section %s"), section->name);
}
break;
case LOC_INDIRECT:
- printf_filtered ("external global (indirect addressing), at address *(");
- print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (sym),
+ printf_filtered (_("external global (indirect addressing), at address *("));
+ deprecated_print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (sym),
1, gdb_stdout);
printf_filtered (")");
if (section_is_overlay (section))
{
load_addr = overlay_unmapped_address (load_addr, section);
- printf_filtered (",\n -- loaded at ");
- print_address_numeric (load_addr, 1, gdb_stdout);
- printf_filtered (" in overlay section %s", section->name);
+ printf_filtered (_(",\n -- loaded at "));
+ deprecated_print_address_numeric (load_addr, 1, gdb_stdout);
+ printf_filtered (_(" in overlay section %s"), section->name);
}
break;
case LOC_REGPARM:
- printf_filtered ("an argument in register %s", REGISTER_NAME (val));
+ printf_filtered (_("an argument in register %s"), REGISTER_NAME (val));
break;
case LOC_REGPARM_ADDR:
- printf_filtered ("address of an argument in register %s", REGISTER_NAME (val));
+ printf_filtered (_("address of an argument in register %s"), REGISTER_NAME (val));
break;
case LOC_ARG:
- printf_filtered ("an argument at offset %ld", val);
+ printf_filtered (_("an argument at offset %ld"), val);
break;
case LOC_LOCAL_ARG:
- printf_filtered ("an argument at frame offset %ld", val);
+ printf_filtered (_("an argument at frame offset %ld"), val);
break;
case LOC_LOCAL:
- printf_filtered ("a local variable at frame offset %ld", val);
+ printf_filtered (_("a local variable at frame offset %ld"), val);
break;
case LOC_REF_ARG:
- printf_filtered ("a reference argument at offset %ld", val);
+ printf_filtered (_("a reference argument at offset %ld"), val);
break;
case LOC_BASEREG:
- printf_filtered ("a variable at offset %ld from register %s",
+ printf_filtered (_("a variable at offset %ld from register %s"),
val, REGISTER_NAME (basereg));
break;
case LOC_BASEREG_ARG:
- printf_filtered ("an argument at offset %ld from register %s",
+ printf_filtered (_("an argument at offset %ld from register %s"),
val, REGISTER_NAME (basereg));
break;
case LOC_TYPEDEF:
- printf_filtered ("a typedef");
+ printf_filtered (_("a typedef"));
break;
case LOC_BLOCK:
- printf_filtered ("a function at address ");
- print_address_numeric (load_addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym)),
+ printf_filtered (_("a function at address "));
+ deprecated_print_address_numeric (load_addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym)),
1, gdb_stdout);
if (section_is_overlay (section))
{
load_addr = overlay_unmapped_address (load_addr, section);
- printf_filtered (",\n -- loaded at ");
- print_address_numeric (load_addr, 1, gdb_stdout);
- printf_filtered (" in overlay section %s", section->name);
+ printf_filtered (_(",\n -- loaded at "));
+ deprecated_print_address_numeric (load_addr, 1, gdb_stdout);
+ printf_filtered (_(" in overlay section %s"), section->name);
}
break;
else
{
section = SYMBOL_BFD_SECTION (msym);
- printf_filtered ("static storage at address ");
- print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (msym),
+ printf_filtered (_("static storage at address "));
+ deprecated_print_address_numeric (load_addr = SYMBOL_VALUE_ADDRESS (msym),
1, gdb_stdout);
if (section_is_overlay (section))
{
load_addr = overlay_unmapped_address (load_addr, section);
- printf_filtered (",\n -- loaded at ");
- print_address_numeric (load_addr, 1, gdb_stdout);
- printf_filtered (" in overlay section %s", section->name);
+ printf_filtered (_(",\n -- loaded at "));
+ deprecated_print_address_numeric (load_addr, 1, gdb_stdout);
+ printf_filtered (_(" in overlay section %s"), section->name);
}
}
}
break;
case LOC_OPTIMIZED_OUT:
- printf_filtered ("optimized out");
+ printf_filtered (_("optimized out"));
break;
default:
- printf_filtered ("of unknown (botched) type");
+ printf_filtered (_("of unknown (botched) type"));
break;
}
printf_filtered (".\n");
/* Make contents of last address examined available to the user as $__. */
/* If the last value has not been fetched from memory then don't
fetch it now - instead mark it by voiding the $__ variable. */
- if (VALUE_LAZY (last_examine_value))
+ if (value_lazy (last_examine_value))
set_internalvar (lookup_internalvar ("__"),
allocate_value (builtin_type_void));
else
struct display *d1, *d;
if (!display_chain)
- error ("No display number %d.", num);
+ error (_("No display number %d."), num);
if (display_chain->number == num)
{
for (d = display_chain;; d = d->next)
{
if (d->next == 0)
- error ("No display number %d.", num);
+ error (_("No display number %d."), num);
if (d->next->number == num)
{
d1 = d->next;
while (*p1 >= '0' && *p1 <= '9')
p1++;
if (*p1 && *p1 != ' ' && *p1 != '\t')
- error ("Arguments must be display numbers.");
+ error (_("Arguments must be display numbers."));
num = atoi (p);
d->enabled_p = 0;
return;
}
- printf_unfiltered ("No display number %d.\n", num);
+ printf_unfiltered (_("No display number %d.\n"), num);
}
void
struct display *d;
if (!display_chain)
- printf_unfiltered ("There are no auto-display expressions now.\n");
+ printf_unfiltered (_("There are no auto-display expressions now.\n"));
else
- printf_filtered ("Auto-display expressions now in effect:\n\
-Num Enb Expression\n");
+ printf_filtered (_("Auto-display expressions now in effect:\n\
+Num Enb Expression\n"));
for (d = display_chain; d; d = d->next)
{
printf_filtered ("/%c ", d->format.format);
print_expression (d->exp, gdb_stdout);
if (d->block && !contained_in (get_selected_block (0), d->block))
- printf_filtered (" (cannot be evaluated in the current context)");
+ printf_filtered (_(" (cannot be evaluated in the current context)"));
printf_filtered ("\n");
gdb_flush (gdb_stdout);
}
while (*p1 >= '0' && *p1 <= '9')
p1++;
if (*p1 && *p1 != ' ' && *p1 != '\t')
- error ("Arguments must be display numbers.");
+ error (_("Arguments must be display numbers."));
num = atoi (p);
d->enabled_p = 1;
goto win;
}
- printf_unfiltered ("No display number %d.\n", num);
+ printf_unfiltered (_("No display number %d.\n"), num);
win:
p = p1;
while (*p == ' ' || *p == '\t')
while (*p1 >= '0' && *p1 <= '9')
p1++;
if (*p1 && *p1 != ' ' && *p1 != '\t')
- error ("Arguments must be display numbers.");
+ error (_("Arguments must be display numbers."));
disable_display (atoi (p));
old_cleanups = make_cleanup (free_current_contents, &val_args);
if (s == 0)
- error_no_arg ("format-control string and values to print");
+ error_no_arg (_("format-control string and values to print"));
/* Skip white space before format string */
while (*s == ' ' || *s == '\t')
/* A format string should follow, enveloped in double quotes */
if (*s++ != '"')
- error ("Bad format string, missing '\"'.");
+ error (_("Bad format string, missing '\"'."));
/* Parse the format-control string and copy it into the string STRING,
processing some kinds of escape sequence. */
switch (c)
{
case '\0':
- error ("Bad format string, non-terminated '\"'.");
+ error (_("Bad format string, non-terminated '\"'."));
case '\\':
switch (c = *s++)
break;
default:
/* ??? TODO: handle other escape sequences */
- error ("Unrecognized escape character \\%c in format string.",
+ error (_("Unrecognized escape character \\%c in format string."),
c);
}
break;
s++;
if (*s != ',' && *s != 0)
- error ("Invalid argument syntax");
+ error (_("Invalid argument syntax"));
if (*s == ',')
s++;
break;
case '*':
- error ("`*' not supported for precision or width in printf");
+ error (_("`*' not supported for precision or width in printf"));
case 'n':
- error ("Format specifier `n' not supported in printf");
+ error (_("Format specifier `n' not supported in printf"));
case '%':
this_argclass = no_arg;
{
struct type *type = value_type (val_args[nargs]);
if (TYPE_LENGTH (type) == sizeof (float))
- val_args[nargs]->type = builtin_type_float;
+ deprecated_set_value_type (val_args[nargs], builtin_type_float);
if (TYPE_LENGTH (type) == sizeof (double))
- val_args[nargs]->type = builtin_type_double;
+ deprecated_set_value_type (val_args[nargs], builtin_type_double);
}
nargs++;
s = s1;
}
if (nargs != nargs_wanted)
- error ("Wrong number of arguments for specified format-string");
+ error (_("Wrong number of arguments for specified format-string"));
/* Now actually print them. */
current_substring = substrings;
break;
}
#else
- error ("long long not supported in printf");
+ error (_("long long not supported in printf"));
#endif
case int_arg:
{
break;
}
default: /* purecov: deadcode */
- error ("internal error in printf_command"); /* purecov: deadcode */
+ error (_("internal error in printf_command")); /* purecov: deadcode */
}
/* Skip to the next substring. */
current_substring += strlen (current_substring) + 1;
add_info ("display", display_info,
"Expressions to display when program stops, with code numbers.");
- add_cmd ("undisplay", class_vars, undisplay_command,
- "Cancel some expressions to be displayed when program stops.\n\
+ add_cmd ("undisplay", class_vars, undisplay_command, _("\
+Cancel some expressions to be displayed when program stops.\n\
Arguments are the code numbers of the expressions to stop displaying.\n\
No argument means cancel all automatic-display expressions.\n\
\"delete display\" has the same effect as this command.\n\
-Do \"info display\" to see current list of code numbers.",
+Do \"info display\" to see current list of code numbers."),
&cmdlist);
add_com ("display", class_vars, display_command,
Use \"undisplay\" to cancel display requests previously made."
);
- add_cmd ("display", class_vars, enable_display,
- "Enable some expressions to be displayed when program stops.\n\
+ add_cmd ("display", class_vars, enable_display, _("\
+Enable some expressions to be displayed when program stops.\n\
Arguments are the code numbers of the expressions to resume displaying.\n\
No argument means enable all automatic-display expressions.\n\
-Do \"info display\" to see current list of code numbers.", &enablelist);
+Do \"info display\" to see current list of code numbers."), &enablelist);
- add_cmd ("display", class_vars, disable_display_command,
- "Disable some expressions to be displayed when program stops.\n\
+ add_cmd ("display", class_vars, disable_display_command, _("\
+Disable some expressions to be displayed when program stops.\n\
Arguments are the code numbers of the expressions to stop displaying.\n\
No argument means disable all automatic-display expressions.\n\
-Do \"info display\" to see current list of code numbers.", &disablelist);
+Do \"info display\" to see current list of code numbers."), &disablelist);
- add_cmd ("display", class_vars, undisplay_command,
- "Cancel some expressions to be displayed when program stops.\n\
+ add_cmd ("display", class_vars, undisplay_command, _("\
+Cancel some expressions to be displayed when program stops.\n\
Arguments are the code numbers of the expressions to stop displaying.\n\
No argument means cancel all automatic-display expressions.\n\
-Do \"info display\" to see current list of code numbers.", &deletelist);
+Do \"info display\" to see current list of code numbers."), &deletelist);
add_com ("printf", class_vars, printf_command,
"printf \"printf format string\", arg1, arg2, arg3, ..., argn\n\
history, if it is not void.");
set_cmd_completer (c, location_completer);
- add_cmd ("variable", class_vars, set_command,
- "Evaluate expression EXP and assign result to variable VAR, using assignment\n\
+ add_cmd ("variable", class_vars, set_command, _("\
+Evaluate expression EXP and assign result to variable VAR, using assignment\n\
syntax appropriate for the current language (VAR = EXP or VAR := EXP for\n\
example). VAR may be a debugger \"convenience\" variable (names starting\n\
with $), a register (a few standard names starting with $), or an actual\n\
variable in the program being debugged. EXP is any valid expression.\n\
-This may usually be abbreviated to simply \"set\".",
+This may usually be abbreviated to simply \"set\"."),
&setlist);
c = add_com ("print", class_vars, print_command,