Clean up unusual code in mi-cmd-stack.c
authorTom Tromey <tromey@adacore.com>
Wed, 25 Jan 2023 15:04:39 +0000 (08:04 -0700)
committerTom Tromey <tromey@adacore.com>
Wed, 25 Jan 2023 19:29:03 +0000 (12:29 -0700)
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

index 00e61e04b678fd1b7fe91228abbfc457dedfc659..4666808a9c9c536477822c388995a82458eac3f2 100644 (file)
@@ -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;
                }