Fix detach with target remote (PR gdb/28080)
[deliverable/binutils-gdb.git] / gdb / value.h
index 98012a5e3ae7cea9b7b00cf09fec87aaf3224255..379cddafbe7fa8064110d7595cf296ca0b3127e1 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions for values of C expressions, for GDB.
 
-   Copyright (C) 1986-2020 Free Software Foundation, Inc.
+   Copyright (C) 1986-2021 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,6 +23,7 @@
 #include "frame.h"             /* For struct frame_id.  */
 #include "extension.h"
 #include "gdbsupport/gdb_ref_ptr.h"
+#include "gmp-utils.h"
 
 struct block;
 struct expression;
@@ -738,9 +739,6 @@ extern struct value *allocate_value_lazy (struct type *type);
 extern void value_contents_copy (struct value *dst, LONGEST dst_offset,
                                 struct value *src, LONGEST src_offset,
                                 LONGEST length);
-extern void value_contents_copy_raw (struct value *dst, LONGEST dst_offset,
-                                    struct value *src, LONGEST src_offset,
-                                    LONGEST length);
 
 extern struct value *allocate_repeat_value (struct type *type, int count);
 
@@ -828,7 +826,7 @@ extern struct value *value_neg (struct value *arg1);
 extern struct value *value_complement (struct value *arg1);
 
 extern struct value *value_struct_elt (struct value **argp,
-                                      struct value **args,
+                                      gdb::optional<gdb::array_view <value *>> args,
                                       const char *name, int *static_memfuncp,
                                       const char *err);
 
@@ -916,13 +914,6 @@ extern struct value *evaluate_expression (struct expression *exp,
 
 extern struct value *evaluate_type (struct expression *exp);
 
-extern struct value *evaluate_subexp (struct type *expect_type,
-                                     struct expression *exp,
-                                     int *pos, enum noside noside);
-
-extern struct value *evaluate_subexpression_type (struct expression *exp,
-                                                 int subexp);
-
 extern value *evaluate_var_value (enum noside noside, const block *blk,
                                  symbol *var);
 
@@ -930,18 +921,13 @@ extern value *evaluate_var_msym_value (enum noside noside,
                                       struct objfile *objfile,
                                       minimal_symbol *msymbol);
 
-extern value *eval_skip_value (expression *exp);
-
-extern void fetch_subexp_value (struct expression *exp, int *pc,
+namespace expr { class operation; };
+extern void fetch_subexp_value (struct expression *exp,
+                               expr::operation *op,
                                struct value **valp, struct value **resultp,
                                std::vector<value_ref_ptr> *val_chain,
                                bool preserve_errors);
 
-extern const char *extract_field_op (struct expression *exp, int *subexp);
-
-extern struct value *evaluate_subexp_with_coercion (struct expression *,
-                                                   int *, enum noside);
-
 extern struct value *parse_and_eval (const char *exp);
 
 extern struct value *parse_to_comma_and_eval (const char **expp);
@@ -1222,4 +1208,8 @@ extern struct value *call_xmethod (struct value *method,
    exiting (e.g., on quit_force).  */
 extern void finalize_values ();
 
+/* Convert VALUE to a gdb_mpq.  The caller must ensure that VALUE is
+   of floating-point, fixed-point, or integer type.  */
+extern gdb_mpq value_to_gdb_mpq (struct value *value);
+
 #endif /* !defined (VALUE_H) */
This page took 0.024897 seconds and 4 git commands to generate.