aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/valops.c7
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)