X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Fmi%2Fmi-parse.h;h=dbc7be204727a011c5e90ab3f4ee3cc844fd46be;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=6d0f53c9fecbc8815339c7882646ab43d6f2f035;hpb=305aeedc41771066e7283a798b108c95b027997e;p=deliverable%2Fbinutils-gdb.git
diff --git a/gdb/mi/mi-parse.h b/gdb/mi/mi-parse.h
index 6d0f53c9fe..dbc7be2047 100644
--- a/gdb/mi/mi-parse.h
+++ b/gdb/mi/mi-parse.h
@@ -1,5 +1,5 @@
/* MI Command Set - MI Command Parser.
- Copyright (C) 2000, 2007, 2008, 2009, 2010 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.
@@ -17,18 +17,21 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see . */
-#ifndef MI_PARSE_H
-#define MI_PARSE_H
+#ifndef MI_MI_PARSE_H
+#define MI_MI_PARSE_H
-#include
+#include "gdbsupport/run-time-clock.h"
+#include
+#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;
@@ -50,6 +58,10 @@ struct mi_parse
int thread_group; /* At present, the same as inferior number. */
int thread;
int frame;
+
+ /* The language that should be used to evaluate the MI command.
+ Ignored if set to language_unknown. */
+ enum language language;
};
/* Attempts to parse CMD returning a ``struct mi_parse''. If CMD is
@@ -60,10 +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 (char *cmd, char **token);
+extern std::unique_ptr mi_parse (const char *cmd,
+ char **token);
-/* Free a command returned by mi_parse_command. */
+/* Parse a string argument into a print_values value. */
-extern void mi_parse_free (struct mi_parse *cmd);
+enum print_values mi_parse_print_values (const char *name);
-#endif
+#endif /* MI_MI_PARSE_H */