Fix break on Python 2
[deliverable/binutils-gdb.git] / gdb / main.c
index 23852e2d470dbb860281ebb86a3f3dadf70302a3..30e27c2a771320ad9df2ba9ee12704d25f26c9c6 100644 (file)
@@ -1,6 +1,6 @@
 /* Top level stuff for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2016 Free Software Foundation, Inc.
+   Copyright (C) 1986-2017 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -413,6 +413,20 @@ catch_command_errors_const (catch_command_errors_const_ftype *command,
   return 1;
 }
 
+/* Adapter for symbol_file_add_main that translates 'from_tty' to a
+   symfile_add_flags.  */
+
+static void
+symbol_file_add_main_adapter (const char *arg, int from_tty)
+{
+  symfile_add_flags add_flags = 0;
+
+  if (from_tty)
+    add_flags |= SYMFILE_VERBOSE;
+
+  symbol_file_add_main (arg, add_flags);
+}
+
 /* Type of this option.  */
 enum cmdarg_kind
 {
@@ -430,7 +444,12 @@ enum cmdarg_kind
 };
 
 /* Arguments of --command option and its counterpart.  */
-struct cmdarg {
+struct cmdarg
+{
+  cmdarg (cmdarg_kind type_, char *string_)
+    : type (type_), string (string_)
+  {}
+
   /* Type of this option.  */
   enum cmdarg_kind type;
 
@@ -731,36 +750,20 @@ captured_main_1 (struct captured_main_args *context)
            pidarg = optarg;
            break;
          case 'x':
-           {
-             struct cmdarg cmdarg = { CMDARG_FILE, optarg };
-
-             cmdarg_vec.push_back (cmdarg);
-           }
+           cmdarg_vec.emplace_back (CMDARG_FILE, optarg);
            break;
          case 'X':
-           {
-             struct cmdarg cmdarg = { CMDARG_COMMAND, optarg };
-
-             cmdarg_vec.push_back (cmdarg);
-           }
+           cmdarg_vec.emplace_back (CMDARG_COMMAND, optarg);
            break;
          case OPT_IX:
-           {
-             struct cmdarg cmdarg = { CMDARG_INIT_FILE, optarg };
-
-             cmdarg_vec.push_back (cmdarg);
-           }
+           cmdarg_vec.emplace_back (CMDARG_INIT_FILE, optarg);
            break;
          case OPT_IEX:
-           {
-             struct cmdarg cmdarg = { CMDARG_INIT_COMMAND, optarg };
-
-             cmdarg_vec.push_back (cmdarg);
-           }
+           cmdarg_vec.emplace_back (CMDARG_INIT_COMMAND, optarg);
            break;
          case 'B':
            batch_flag = batch_silent = 1;
-           gdb_stdout = ui_file_new();
+           gdb_stdout = new null_file ();
            break;
          case 'D':
            if (optarg[0] == '\0')
@@ -1029,7 +1032,7 @@ captured_main_1 (struct captured_main_args *context)
          catch_command_errors returns non-zero on success!  */
       if (catch_command_errors_const (exec_file_attach, execarg,
                                      !batch_flag))
-       catch_command_errors_const (symbol_file_add_main, symarg,
+       catch_command_errors_const (symbol_file_add_main_adapter, symarg,
                                    !batch_flag);
     }
   else
@@ -1038,7 +1041,7 @@ captured_main_1 (struct captured_main_args *context)
        catch_command_errors_const (exec_file_attach, execarg,
                                    !batch_flag);
       if (symarg != NULL)
-       catch_command_errors_const (symbol_file_add_main, symarg,
+       catch_command_errors_const (symbol_file_add_main_adapter, symarg,
                                    !batch_flag);
     }
 
This page took 0.025722 seconds and 4 git commands to generate.