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

@@ -325,6 +325,21 @@ c_create_fundamental_type (struct objfile *objfile, int typeid)
/ TARGET_CHAR_BIT,
0, "long double", objfile);
break;
case FT_DECFLOAT:
type = init_type (TYPE_CODE_DECFLOAT,
32 / 8,
0, "decimal float", objfile);
break;
case FT_DBL_PREC_DECFLOAT:
type = init_type (TYPE_CODE_DECFLOAT,
64 / 8,
0, "decimal double", objfile);
break;
case FT_EXT_PREC_DECFLOAT:
type = init_type (TYPE_CODE_DECFLOAT,
128 / 8,
0, "decimal long double", objfile);
break;
case FT_COMPLEX:
type = init_type (TYPE_CODE_FLT,
2 * gdbarch_float_bit (current_gdbarch)