Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* c-lang.c (c_create_fundamental_type): Create fundamental
	types for DFP.
	* c-typeprint.c (c_type_print_varspec_prefix): Add
	TYPE_CODE_DECFLOAT to no prefix needed case.
	(c_type_print_varspec_suffix): Add TYPE_CODE_DECFLOAT to no
	suffix needed case.
	* c-valprint.c (c_val_print): Call print_decimal_floating to
	print DFP values.
	* dwarf2read.c (read_base_type): Read DW_ATE_decimal_float
	attribute code and return TYPE_CODE_DECFLOAT.
	(dwarf_base_type): Set dwarf2_fundamental_type for DFP values.
	* gdbtypes.c (gdbtypes_post_init): Initialize builtin_decfloat,
	builtin_decdouble and builtin_declong.
	* gdbtypes.h (enum type_code): Add TYPE_CODE_DECFLOAT as a
	type code for DFP.
	(FT_DECFLOAT, FT_DBL_PREC_DECFLOAT, FT_EXT_PREC_DECFLOAT): New
	types, for decimal floating point.
	(FT_NUM_MEMBERS):  Increment, new types added.
	(struct builtin_type): Add builtin_decfloat, builtin_decdouble
	and builtin_declong.
	* valprint.c (print_decimal_floating): New function to print DFP
	values.
	* value.h (print_decimal_floating): Prototype.
This commit is contained in:
Thiago Jung Bauermann
2007-10-25 17:57:34 +00:00
parent 9b913628cf
commit 7678ef8fb0
9 changed files with 105 additions and 2 deletions

View File

@@ -3506,6 +3506,21 @@ gdbtypes_post_init (struct gdbarch *gdbarch)
0,
"bool", (struct objfile *) NULL);
/* The following three are about decimal floating point types, which
are 32-bits, 64-bits and 128-bits respectively. */
builtin_type->builtin_decfloat
= init_type (TYPE_CODE_DECFLOAT, 32 / 8,
0,
"decimal float", (struct objfile *) NULL);
builtin_type->builtin_decdouble
= init_type (TYPE_CODE_DECFLOAT, 64 / 8,
0,
"decimal double", (struct objfile *) NULL);
builtin_type->builtin_declong
= init_type (TYPE_CODE_DECFLOAT, 128 / 8,
0,
"decimal long double", (struct objfile *) NULL);
/* Pointer/Address types. */
/* NOTE: on some targets, addresses and pointers are not necessarily