* value.h (value_add, value_sub): Remove.
[deliverable/binutils-gdb.git] / gdb / value.h
index 7e1ccaf298424be67a32c34751a57d78513b3ea8..5ff84b34c28f581bd443e2d5d8b541dc45927864 100644 (file)
@@ -31,6 +31,7 @@ struct regcache;
 struct symbol;
 struct type;
 struct ui_file;
+struct language_defn;
 
 /* The structure which defines the type of a value.  It should never
    be possible for a program lval value to survive over a call to the
@@ -62,8 +63,8 @@ extern int value_bitsize (struct value *);
 extern void set_value_bitsize (struct value *, int bit);
 
 /* Only used for bitfields; position of start of field.  For
-   BITS_BIG_ENDIAN=0 targets, it is the position of the LSB.  For
-   BITS_BIG_ENDIAN=1 targets, it is the position of the MSB.  */
+   gdbarch_bits_big_endian=0 targets, it is the position of the LSB.  For
+   gdbarch_bits_big_endian=1 targets, it is the position of the MSB.  */
 
 extern int value_bitpos (struct value *);
 extern void set_value_bitpos (struct value *, int bit);
@@ -135,9 +136,9 @@ extern int value_embedded_offset (struct value *value);
 extern void set_value_embedded_offset (struct value *value, int val);
 
 /* If zero, contents of this value are in the contents field.  If
-   nonzero, contents are in inferior memory at address in the
-   location.address field plus the offset field (and the lval field
-   should be lval_memory).
+   nonzero, contents are in inferior.  If the lval field is lval_memory,
+   the contents are in inferior memory at location.address plus offset.
+   The lval field may also be lval_register.
 
    WARNING: This field is used by the code which handles watchpoints
    (see breakpoint.c) to decide whether a particular value can be
@@ -301,6 +302,8 @@ extern struct value *value_of_variable (struct symbol *var, struct block *b);
 
 extern struct value *value_of_register (int regnum, struct frame_info *frame);
 
+struct value *value_of_register_lazy (struct frame_info *frame, int regnum);
+
 extern int symbol_read_needs_frame (struct symbol *);
 
 extern struct value *read_var_value (struct symbol *var,
@@ -328,9 +331,15 @@ extern struct value *value_concat (struct value *arg1, struct value *arg2);
 extern struct value *value_binop (struct value *arg1, struct value *arg2,
                                  enum exp_opcode op);
 
-extern struct value *value_add (struct value *arg1, struct value *arg2);
+extern struct value *value_ptradd (struct value *arg1, struct value *arg2);
+
+extern struct value *value_ptrsub (struct value *arg1, struct value *arg2);
+
+extern LONGEST value_ptrdiff (struct value *arg1, struct value *arg2);
+
+extern int value_must_coerce_to_target (struct value *arg1);
 
-extern struct value *value_sub (struct value *arg1, struct value *arg2);
+extern struct value *value_coerce_to_target (struct value *arg1);
 
 extern struct value *value_coerce_array (struct value *arg1);
 
@@ -392,24 +401,36 @@ extern struct value *value_cast (struct type *type, struct value *arg2);
 
 extern struct value *value_zero (struct type *type, enum lval_type lv);
 
+extern struct value *value_one (struct type *type, enum lval_type lv);
+
 extern struct value *value_repeat (struct value *arg1, int count);
 
 extern struct value *value_subscript (struct value *array, struct value *idx);
 
+extern struct value *value_bitstring_subscript (struct type *type,
+                                               struct value *bitstring,
+                                               struct value *idx);
+
 extern struct value *register_value_being_returned (struct type *valtype,
                                                    struct regcache *retbuf);
 
-extern struct value *value_in (struct value *element, struct value *set);
+extern int value_in (struct value *element, struct value *set);
 
 extern int value_bit_index (struct type *type, const gdb_byte *addr,
                            int index);
 
-extern int using_struct_return (struct type *value_type);
+extern int using_struct_return (struct type *func_type,
+                               struct type *value_type);
 
 extern struct value *evaluate_expression (struct expression *exp);
 
 extern struct value *evaluate_type (struct expression *exp);
 
+extern struct value *evaluate_subexpression_type (struct expression *exp,
+                                                 int subexp);
+
+extern char *extract_field_op (struct expression *exp, int *subexp);
+
 extern struct value *evaluate_subexp_with_coercion (struct expression *,
                                                    int *, enum noside);
 
@@ -510,12 +531,14 @@ extern int val_print (struct type *type, const gdb_byte *valaddr,
                      int embedded_offset, CORE_ADDR address,
                      struct ui_file *stream, int format,
                      int deref_ref, int recurse,
-                     enum val_prettyprint pretty);
+                     enum val_prettyprint pretty,
+                     const struct language_defn *language);
 
 extern int common_val_print (struct value *val,
                             struct ui_file *stream, int format,
                             int deref_ref, int recurse,
-                            enum val_prettyprint pretty);
+                            enum val_prettyprint pretty,
+                            const struct language_defn *language);
 
 extern int val_print_string (CORE_ADDR addr, int len, int width,
                             struct ui_file *stream);
@@ -524,7 +547,7 @@ extern void print_variable_value (struct symbol *var,
                                  struct frame_info *frame,
                                  struct ui_file *stream);
 
-extern int check_field (struct value *, const char *);
+extern int check_field (struct type *, const char *);
 
 extern void typedef_print (struct type *type, struct symbol *news,
                           struct ui_file *stream);
@@ -552,4 +575,5 @@ extern struct value *value_allocate_space_in_inferior (int);
 
 extern struct value *value_of_local (const char *name, int complain);
 
+extern struct value * value_subscripted_rvalue (struct value *array, struct value *idx, int lowerbound);
 #endif /* !defined (VALUE_H) */
This page took 0.026749 seconds and 4 git commands to generate.