Clean up unusual code in mi-cmd-stack.c
Commit Message
I noticed some unusual code in mi-cmd-stack.c. This code is a switch,
where one of the cases appears in the middle of another block. It
seemed cleaner to me to have the earlier case just conditionally fall
through.
---
gdb/mi/mi-cmd-stack.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
Comments
On 1/25/23 10:06, Tom Tromey via Gdb-patches wrote:
> I noticed some unusual code in mi-cmd-stack.c. This code is a switch,
> where one of the cases appears in the middle of another block. It
> seemed cleaner to me to have the earlier case just conditionally fall
> through.
Thanks, that LGTM. I would have been very confused if I had to deal
with that code.
Simon
@@ -571,7 +571,6 @@ list_args_or_locals (const frame_print_options &fp_opts,
const struct block *block;
struct symbol *sym;
struct block_iterator iter;
- struct type *type;
const char *name_of_result;
struct ui_out *uiout = current_uiout;
@@ -649,17 +648,20 @@ list_args_or_locals (const frame_print_options &fp_opts,
switch (values)
{
case PRINT_SIMPLE_VALUES:
- type = check_typedef (sym2->type ());
- if (type->code () != TYPE_CODE_ARRAY
- && type->code () != TYPE_CODE_STRUCT
- && type->code () != TYPE_CODE_UNION)
- {
+ {
+ struct type *type = check_typedef (sym2->type ());
+ if (type->code () == TYPE_CODE_ARRAY
+ || type->code () == TYPE_CODE_STRUCT
+ || type->code () == TYPE_CODE_UNION)
+ break;
+ }
+ /* FALLTHROUGH */
+
case PRINT_ALL_VALUES:
if (sym->is_argument ())
read_frame_arg (fp_opts, sym2, fi, &arg, &entryarg);
else
read_frame_local (sym2, fi, &arg);
- }
break;
}