summaryrefslogtreecommitdiff
path: root/gdb/c-valprint.c
diff options
context:
space:
mode:
authorThiago Jung Bauermann <bauerman@br.ibm.com>2007-10-25 17:57:34 +0000
committerThiago Jung Bauermann <bauerman@br.ibm.com>2007-10-25 17:57:34 +0000
commitbebcf92a4127f21ef28a926f7656c55e7b9ce292 (patch)
tree8823026e10d1ff573212e091b5b50266001c0529 /gdb/c-valprint.c
parent4b6f5649fb3872af8e18d148d135f644298697f3 (diff)
downloadgdb-bebcf92a4127f21ef28a926f7656c55e7b9ce292.tar.gz
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
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.
Diffstat (limited to 'gdb/c-valprint.c')
-rw-r--r--gdb/c-valprint.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c
index cd4c85a5fb3..ddcec6e3780 100644
--- a/gdb/c-valprint.c
+++ b/gdb/c-valprint.c
@@ -474,6 +474,13 @@ c_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
}
break;
+ case TYPE_CODE_DECFLOAT:
+ if (format)
+ print_scalar_formatted (valaddr + embedded_offset, type, format, 0, stream);
+ else
+ print_decimal_floating (valaddr + embedded_offset, type, stream);
+ break;
+
case TYPE_CODE_VOID:
fprintf_filtered (stream, "void");
break;