gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / mi / mi-parse.h
index 325c1e14398c5992bfbe217485eaae40a84f2054..dbc7be204727a011c5e90ab3f4ee3cc844fd46be 100644 (file)
@@ -1,5 +1,5 @@
 /* MI Command Set - MI Command Parser.
-   Copyright (C) 2000-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2020 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef MI_PARSE_H
-#define MI_PARSE_H
+#ifndef MI_MI_PARSE_H
+#define MI_MI_PARSE_H
 
-#include <sys/time.h>
+#include "gdbsupport/run-time-clock.h"
+#include <chrono>
+#include "mi-cmds.h"  /* For enum print_values.  */
 
 /* MI parser */
 
 /* Timestamps for current command and last asynchronous command.  */
-struct mi_timestamp {
-  struct timeval wallclock;
-  struct timeval utime;
-  struct timeval stime;
+struct mi_timestamp
+{
+  std::chrono::steady_clock::time_point wallclock;
+  user_cpu_time_clock::time_point utime;
+  system_cpu_time_clock::time_point stime;
 };
 
 enum mi_command_type
@@ -38,6 +41,11 @@ enum mi_command_type
 
 struct mi_parse
   {
+    mi_parse ();
+    ~mi_parse ();
+
+    DISABLE_COPY_AND_ASSIGN (mi_parse);
+
     enum mi_command_type op;
     char *command;
     char *token;
@@ -64,14 +72,11 @@ struct mi_parse
    the TOKEN field of the resultant mi_parse object, to be freed by
    mi_parse_free.  */
 
-extern struct mi_parse *mi_parse (const char *cmd, char **token);
-
-/* Free a command returned by mi_parse_command.  */
-
-extern void mi_parse_free (struct mi_parse *cmd);
+extern std::unique_ptr<struct mi_parse> mi_parse (const char *cmd,
+                                                 char **token);
 
 /* Parse a string argument into a print_values value.  */
 
 enum print_values mi_parse_print_values (const char *name);
 
-#endif
+#endif /* MI_MI_PARSE_H */
This page took 0.027717 seconds and 4 git commands to generate.