Get rid of support for VAX Floats.
* ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix) (ada_vax_float_print_function): Delete. * ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix) (ada_vax_float_print_function): Delete. * ada-typeprint.c (print_vax_floating_point_type): Delete. (ada_print_type): Remove support for VAX floats. * ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
This commit is contained in:
parent
cf000afb0d
commit
92b9ce5b60
5 changed files with 12 additions and 82 deletions
|
@ -1,4 +1,15 @@
|
|||
2010-01-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
2009-01-08 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
Get rid of support for VAX Floats.
|
||||
* ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix)
|
||||
(ada_vax_float_print_function): Delete.
|
||||
* ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix)
|
||||
(ada_vax_float_print_function): Delete.
|
||||
* ada-typeprint.c (print_vax_floating_point_type): Delete.
|
||||
(ada_print_type): Remove support for VAX floats.
|
||||
* ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
|
||||
|
||||
2010-01-08 jan kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* stabsread.c (read_args): Handle zero arguments.
|
||||
|
||||
|
|
|
@ -9656,52 +9656,6 @@ ada_float_to_fixed (struct type *type, DOUBLEST x)
|
|||
return (LONGEST) (x / scaling_factor (type) + 0.5);
|
||||
}
|
||||
|
||||
|
||||
/* VAX floating formats */
|
||||
|
||||
/* Non-zero iff TYPE represents one of the special VAX floating-point
|
||||
types. */
|
||||
|
||||
int
|
||||
ada_is_vax_floating_type (struct type *type)
|
||||
{
|
||||
int name_len =
|
||||
(ada_type_name (type) == NULL) ? 0 : strlen (ada_type_name (type));
|
||||
return
|
||||
name_len > 6
|
||||
&& (TYPE_CODE (type) == TYPE_CODE_INT
|
||||
|| TYPE_CODE (type) == TYPE_CODE_RANGE)
|
||||
&& strncmp (ada_type_name (type) + name_len - 6, "___XF", 5) == 0;
|
||||
}
|
||||
|
||||
/* The type of special VAX floating-point type this is, assuming
|
||||
ada_is_vax_floating_point. */
|
||||
|
||||
int
|
||||
ada_vax_float_type_suffix (struct type *type)
|
||||
{
|
||||
return ada_type_name (type)[strlen (ada_type_name (type)) - 1];
|
||||
}
|
||||
|
||||
/* A value representing the special debugging function that outputs
|
||||
VAX floating-point values of the type represented by TYPE. Assumes
|
||||
ada_is_vax_floating_type (TYPE). */
|
||||
|
||||
struct value *
|
||||
ada_vax_float_print_function (struct type *type)
|
||||
{
|
||||
switch (ada_vax_float_type_suffix (type))
|
||||
{
|
||||
case 'F':
|
||||
return get_var_value ("DEBUG_STRING_F", 0);
|
||||
case 'D':
|
||||
return get_var_value ("DEBUG_STRING_D", 0);
|
||||
case 'G':
|
||||
return get_var_value ("DEBUG_STRING_G", 0);
|
||||
default:
|
||||
error (_("invalid VAX floating-point type"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Range types */
|
||||
|
|
|
@ -305,12 +305,6 @@ extern DOUBLEST ada_fixed_to_float (struct type *, LONGEST);
|
|||
|
||||
extern LONGEST ada_float_to_fixed (struct type *, DOUBLEST);
|
||||
|
||||
extern int ada_is_vax_floating_type (struct type *);
|
||||
|
||||
extern int ada_vax_float_type_suffix (struct type *);
|
||||
|
||||
extern struct value *ada_vax_float_print_function (struct type *);
|
||||
|
||||
extern struct type *ada_system_address_type (void);
|
||||
|
||||
extern int ada_which_variant_applies (struct type *, struct type *,
|
||||
|
|
|
@ -310,15 +310,6 @@ print_fixed_point_type (struct type *type, struct ui_file *stream)
|
|||
}
|
||||
}
|
||||
|
||||
/* Print representation of special VAX floating-point type TYPE on STREAM. */
|
||||
|
||||
static void
|
||||
print_vax_floating_point_type (struct type *type, struct ui_file *stream)
|
||||
{
|
||||
fprintf_filtered (stream, "<float format %c>",
|
||||
ada_vax_float_type_suffix (type));
|
||||
}
|
||||
|
||||
/* Print simple (constrained) array type TYPE on STREAM. LEVEL is the
|
||||
recursion (indentation) level, in case the element type itself has
|
||||
nested structure, and SHOW is the number of levels of internal
|
||||
|
@ -786,8 +777,6 @@ ada_print_type (struct type *type0, char *varstring, struct ui_file *stream,
|
|||
case TYPE_CODE_INT:
|
||||
if (ada_is_fixed_point_type (type))
|
||||
print_fixed_point_type (type, stream);
|
||||
else if (ada_is_vax_floating_type (type))
|
||||
print_vax_floating_point_type (type, stream);
|
||||
else
|
||||
{
|
||||
char *name = ada_type_name (type);
|
||||
|
@ -804,8 +793,6 @@ ada_print_type (struct type *type0, char *varstring, struct ui_file *stream,
|
|||
case TYPE_CODE_RANGE:
|
||||
if (ada_is_fixed_point_type (type))
|
||||
print_fixed_point_type (type, stream);
|
||||
else if (ada_is_vax_floating_type (type))
|
||||
print_vax_floating_point_type (type, stream);
|
||||
else if (ada_is_modular_type (type))
|
||||
fprintf_filtered (stream, "mod %s",
|
||||
int_string (ada_modulus (type), 10, 0, 0, 1));
|
||||
|
|
|
@ -744,22 +744,6 @@ ada_val_print_1 (struct type *type, const gdb_byte *valaddr0,
|
|||
(double) ada_fixed_to_float (type, v));
|
||||
return 0;
|
||||
}
|
||||
else if (ada_is_vax_floating_type (type))
|
||||
{
|
||||
struct value *val =
|
||||
value_from_contents_and_address (type, valaddr, address);
|
||||
struct value *func = ada_vax_float_print_function (type);
|
||||
if (func != 0)
|
||||
{
|
||||
struct gdbarch *gdbarch = get_type_arch (type);
|
||||
CORE_ADDR addr;
|
||||
addr = value_as_address (call_function_by_hand (func, 1, &val));
|
||||
val_print_string (builtin_type (gdbarch)->builtin_true_char,
|
||||
addr, -1, stream, options);
|
||||
return 0;
|
||||
}
|
||||
/* No special printing function. Do as best we can. */
|
||||
}
|
||||
else if (TYPE_CODE (type) == TYPE_CODE_RANGE)
|
||||
{
|
||||
struct type *target_type = TYPE_TARGET_TYPE (type);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue