Change tui_set_layout to return void
authorTom Tromey <tom@tromey.com>
Mon, 1 Jul 2019 02:34:57 +0000 (20:34 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 17 Jul 2019 18:19:15 +0000 (12:19 -0600)
tui_set_layout can't meaningfully be called with UNDEFINED_LAYOUT; and
instead of trying to handle this case, simply assert and have the
function return void.  No caller was checking the return value anyway.

gdb/ChangeLog
2019-07-17  Tom Tromey  <tom@tromey.com>

* tui/tui-layout.h (tui/tui-layout): Return void.
* tui/tui-layout.c (tui_set_layout): Return void.  Add assert.

gdb/ChangeLog
gdb/tui/tui-layout.c
gdb/tui/tui-layout.h

index 643ff23550c156bc98e85836a75db331ab5e131b..4dce3ac6aff1e8c5e3a2221914048df418c4f6b4 100644 (file)
@@ -1,3 +1,8 @@
+2019-07-17  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-layout.h (tui/tui-layout): Return void.
+       * tui/tui-layout.c (tui_set_layout): Return void.  Add assert.
+
 2019-07-17  Tom Tromey  <tom@tromey.com>
 
        * tui/tui-layout.c (show_source_disasm_command, show_data):
index d15df2a37c853c63f4d1015aef1933c1532f5f8c..7feadd71ece266fe17021c8ce7c4d97fad610e5a 100644 (file)
@@ -113,104 +113,97 @@ show_layout (enum tui_layout_type layout)
 
 /* Function to set the layout to SRC_COMMAND, DISASSEM_COMMAND,
    SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND.  */
-enum tui_status
+void
 tui_set_layout (enum tui_layout_type layout_type)
 {
-  enum tui_status status = TUI_SUCCESS;
+  gdb_assert (layout_type != UNDEFINED_LAYOUT);
 
-  if (layout_type != UNDEFINED_LAYOUT)
-    {
-      enum tui_layout_type cur_layout = tui_current_layout ();
-      struct gdbarch *gdbarch;
-      CORE_ADDR addr;
-      struct tui_win_info *win_with_focus = tui_win_with_focus ();
-      struct tui_layout_def *layout_def = tui_layout_def ();
+  enum tui_layout_type cur_layout = tui_current_layout ();
+  struct gdbarch *gdbarch;
+  CORE_ADDR addr;
+  struct tui_win_info *win_with_focus = tui_win_with_focus ();
+  struct tui_layout_def *layout_def = tui_layout_def ();
 
-      extract_display_start_addr (&gdbarch, &addr);
+  extract_display_start_addr (&gdbarch, &addr);
 
-      enum tui_layout_type new_layout = layout_type;
+  enum tui_layout_type new_layout = layout_type;
 
-      if (new_layout != cur_layout)
-       {
-         show_layout (new_layout);
+  if (new_layout != cur_layout)
+    {
+      show_layout (new_layout);
 
-         /* Now determine where focus should be.  */
-         if (win_with_focus != TUI_CMD_WIN)
+      /* Now determine where focus should be.  */
+      if (win_with_focus != TUI_CMD_WIN)
+       {
+         switch (new_layout)
            {
-             switch (new_layout)
-               {
-               case SRC_COMMAND:
-                 tui_set_win_focus_to (TUI_SRC_WIN);
-                 layout_def->display_mode = SRC_WIN;
-                 break;
-               case DISASSEM_COMMAND:
-                 /* The previous layout was not showing code.
-                    This can happen if there is no source
-                    available:
-
-                    1. if the source file is in another dir OR
-                    2. if target was compiled without -g
-                    We still want to show the assembly though!  */
-
-                 tui_get_begin_asm_address (&gdbarch, &addr);
-                 tui_set_win_focus_to (TUI_DISASM_WIN);
-                 layout_def->display_mode = DISASSEM_WIN;
-                 break;
-               case SRC_DISASSEM_COMMAND:
-                 /* The previous layout was not showing code.
-                    This can happen if there is no source
-                    available:
-
-                    1. if the source file is in another dir OR
-                    2. if target was compiled without -g
-                    We still want to show the assembly though!  */
-
-                 tui_get_begin_asm_address (&gdbarch, &addr);
-                 if (win_with_focus == TUI_SRC_WIN)
-                   tui_set_win_focus_to (TUI_SRC_WIN);
-                 else
-                   tui_set_win_focus_to (TUI_DISASM_WIN);
-                 break;
-               case SRC_DATA_COMMAND:
-                 if (win_with_focus != TUI_DATA_WIN)
-                   tui_set_win_focus_to (TUI_SRC_WIN);
-                 else
-                   tui_set_win_focus_to (TUI_DATA_WIN);
-                 layout_def->display_mode = SRC_WIN;
-                 break;
-               case DISASSEM_DATA_COMMAND:
-                 /* The previous layout was not showing code.
-                    This can happen if there is no source
-                    available:
-
-                    1. if the source file is in another dir OR
-                    2. if target was compiled without -g
-                    We still want to show the assembly though!  */
-
-                 tui_get_begin_asm_address (&gdbarch, &addr);
-                 if (win_with_focus != TUI_DATA_WIN)
-                   tui_set_win_focus_to (TUI_DISASM_WIN);
-                 else
-                   tui_set_win_focus_to (TUI_DATA_WIN);
-                 layout_def->display_mode = DISASSEM_WIN;
-                 break;
-               default:
-                 break;
-               }
+           case SRC_COMMAND:
+             tui_set_win_focus_to (TUI_SRC_WIN);
+             layout_def->display_mode = SRC_WIN;
+             break;
+           case DISASSEM_COMMAND:
+             /* The previous layout was not showing code.
+                This can happen if there is no source
+                available:
+
+                1. if the source file is in another dir OR
+                2. if target was compiled without -g
+                We still want to show the assembly though!  */
+
+             tui_get_begin_asm_address (&gdbarch, &addr);
+             tui_set_win_focus_to (TUI_DISASM_WIN);
+             layout_def->display_mode = DISASSEM_WIN;
+             break;
+           case SRC_DISASSEM_COMMAND:
+             /* The previous layout was not showing code.
+                This can happen if there is no source
+                available:
+
+                1. if the source file is in another dir OR
+                2. if target was compiled without -g
+                We still want to show the assembly though!  */
+
+             tui_get_begin_asm_address (&gdbarch, &addr);
+             if (win_with_focus == TUI_SRC_WIN)
+               tui_set_win_focus_to (TUI_SRC_WIN);
+             else
+               tui_set_win_focus_to (TUI_DISASM_WIN);
+             break;
+           case SRC_DATA_COMMAND:
+             if (win_with_focus != TUI_DATA_WIN)
+               tui_set_win_focus_to (TUI_SRC_WIN);
+             else
+               tui_set_win_focus_to (TUI_DATA_WIN);
+             layout_def->display_mode = SRC_WIN;
+             break;
+           case DISASSEM_DATA_COMMAND:
+             /* The previous layout was not showing code.
+                This can happen if there is no source
+                available:
+
+                1. if the source file is in another dir OR
+                2. if target was compiled without -g
+                We still want to show the assembly though!  */
+
+             tui_get_begin_asm_address (&gdbarch, &addr);
+             if (win_with_focus != TUI_DATA_WIN)
+               tui_set_win_focus_to (TUI_DISASM_WIN);
+             else
+               tui_set_win_focus_to (TUI_DATA_WIN);
+             layout_def->display_mode = DISASSEM_WIN;
+             break;
+           default:
+             break;
            }
-         /*
-          * Now update the window content.
-          */
-         tui_update_source_windows_with_addr (gdbarch, addr);
-         if (new_layout == SRC_DATA_COMMAND
-             || new_layout == DISASSEM_DATA_COMMAND)
-           tui_show_registers (TUI_DATA_WIN->current_group);
        }
+      /*
+       * Now update the window content.
+       */
+      tui_update_source_windows_with_addr (gdbarch, addr);
+      if (new_layout == SRC_DATA_COMMAND
+         || new_layout == DISASSEM_DATA_COMMAND)
+       tui_show_registers (TUI_DATA_WIN->current_group);
     }
-  else
-    status = TUI_FAILURE;
-
-  return status;
 }
 
 /* Add the specified window to the layout in a logical way.  This
index bc21d2999e43c9eedf6b32fbfe6d6b75af243750..5f1993387be42e04eb3e512f71e9caf49a9c95c3 100644 (file)
@@ -30,6 +30,6 @@ extern int tui_default_win_height (enum tui_win_type,
                                   enum tui_layout_type);
 extern int tui_default_win_viewport_height (enum tui_win_type,
                                            enum tui_layout_type);
-extern enum tui_status tui_set_layout (enum tui_layout_type);
+extern void tui_set_layout (enum tui_layout_type);
 
 #endif /* TUI_TUI_LAYOUT_H */