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:
Joel Brobecker 2010-01-08 11:58:23 +00:00
parent cf000afb0d
commit 92b9ce5b60
5 changed files with 12 additions and 82 deletions

View File

@ -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.

View File

@ -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 */

View File

@ -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 *,

View File

@ -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));

View File

@ -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);