diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/valops.c | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fff6bba..95d41e5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2009-06-23 Ulrich Weigand <uweigand@de.ibm.com> + * valops.c (value_one): Reimplement broken decimal-float case. + +2009-06-23 Ulrich Weigand <uweigand@de.ibm.com> + * eval.c (evaluate_subexp_standard): Use expression architecture instead of current_gdbarch. diff --git a/gdb/valops.c b/gdb/valops.c index 05585c9..1d19393 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -537,15 +537,12 @@ struct value * value_one (struct type *type, enum lval_type lv) { struct type *type1 = check_typedef (type); - struct value *val = NULL; /* avoid -Wall warning */ + struct value *val; if (TYPE_CODE (type1) == TYPE_CODE_DECFLOAT) { - struct value *int_one = value_from_longest (builtin_type_int32, 1); - struct value *val; gdb_byte v[16]; - - decimal_from_integral (int_one, v, TYPE_LENGTH (builtin_type_int32)); + decimal_from_string (v, TYPE_LENGTH (type), "1"); val = value_from_decfloat (type, v); } else if (TYPE_CODE (type1) == TYPE_CODE_FLT) |