diff options
Diffstat (limited to 'gdb/m2-lang.c')
-rw-r--r-- | gdb/m2-lang.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c index 9cc64bc..ade52d9 100644 --- a/gdb/m2-lang.c +++ b/gdb/m2-lang.c @@ -194,6 +194,7 @@ evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp, struct value *arg1; struct value *arg2; struct type *type; + switch (op) { case UNOP_HIGH: @@ -210,6 +211,7 @@ evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp, if (m2_is_unbounded_array (type)) { struct value *temp = arg1; + type = TYPE_FIELD_TYPE (type, 1); /* i18n: Do not translate the "_m2_high" part! */ arg1 = value_struct_elt (&temp, NULL, "_m2_high", NULL, @@ -239,10 +241,11 @@ evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp, { struct value *temp = arg1; type = TYPE_FIELD_TYPE (type, 0); - if (type == NULL || (TYPE_CODE (type) != TYPE_CODE_PTR)) { - warning (_("internal error: unbounded array structure is unknown")); - return evaluate_subexp_standard (expect_type, exp, pos, noside); - } + if (type == NULL || (TYPE_CODE (type) != TYPE_CODE_PTR)) + { + warning (_("internal error: unbounded array structure is unknown")); + return evaluate_subexp_standard (expect_type, exp, pos, noside); + } /* i18n: Do not translate the "_m2_contents" part! */ arg1 = value_struct_elt (&temp, NULL, "_m2_contents", NULL, _("unbounded structure " |