X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fvalue.h;h=47bf672eb5dad6c04fc61eb61c34f015f02ace87;hb=fa4dc567aec7664b3508dd9401b1fbb6d304f281;hp=b58f78998a1f675f18f2e7781940e68b14cec785;hpb=a6535de1903d9caad8c10c1d81c51a29612456a6;p=external%2Fbinutils.git diff --git a/gdb/value.h b/gdb/value.h index b58f789..47bf672 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -1,6 +1,6 @@ /* Definitions for values of C expressions, for GDB. - Copyright (C) 1986-2018 Free Software Foundation, Inc. + Copyright (C) 1986-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -22,7 +22,7 @@ #include "frame.h" /* For struct frame_id. */ #include "extension.h" -#include "common/gdb_ref_ptr.h" +#include "gdbsupport/gdb_ref_ptr.h" struct block; struct expression; @@ -88,12 +88,12 @@ struct value_print_options; struct value; -/* Decrease VAL's reference count. When the reference count drops to - 0, VAL will be freed. */ +/* Increase VAL's reference count. */ -extern struct value *value_incref (struct value *val); +extern void value_incref (struct value *val); -/* Increate VAL's reference count. VAL is returned. */ +/* Decrease VAL's reference count. When the reference count drops to + 0, VAL will be freed. */ extern void value_decref (struct value *val); @@ -669,6 +669,7 @@ extern void pack_long (gdb_byte *buf, struct type *type, LONGEST num); extern struct value *value_from_longest (struct type *type, LONGEST num); extern struct value *value_from_ulongest (struct type *type, ULONGEST num); extern struct value *value_from_pointer (struct type *type, CORE_ADDR addr); +extern struct value *value_from_host_double (struct type *type, double d); extern struct value *value_from_history_ref (const char *, const char **); extern struct value *value_from_component (struct value *, struct type *, LONGEST); @@ -792,7 +793,10 @@ extern struct value *value_ptradd (struct value *arg1, LONGEST arg2); extern LONGEST value_ptrdiff (struct value *arg1, struct value *arg2); -extern int value_must_coerce_to_target (struct value *arg1); +/* Return true if VAL does not live in target memory, but should in order + to operate on it. Otherwise return false. */ + +extern bool value_must_coerce_to_target (struct value *arg1); extern struct value *value_coerce_to_target (struct value *arg1); @@ -835,7 +839,7 @@ extern struct value *value_static_field (struct type *type, int fieldno); enum oload_search_type { NON_METHOD, METHOD, BOTH }; -extern int find_overload_match (struct value **args, int nargs, +extern int find_overload_match (gdb::array_view args, const char *name, enum oload_search_type method, struct value **objp, struct symbol *fsym, @@ -1148,7 +1152,8 @@ extern struct value *find_function_in_inferior (const char *, extern struct value *value_allocate_space_in_inferior (int); extern struct value *value_subscripted_rvalue (struct value *array, - LONGEST index, int lowerbound); + LONGEST index, + LONGEST lowerbound); /* User function handler. */ @@ -1175,10 +1180,10 @@ char *value_internal_function_name (struct value *); extern struct value *value_from_xmethod (xmethod_worker_up &&worker); extern struct type *result_type_of_xmethod (struct value *method, - int argc, struct value **argv); + gdb::array_view argv); extern struct value *call_xmethod (struct value *method, - int argc, struct value **argv); + gdb::array_view argv); /* Given a discriminated union type and some corresponding value contents, this will return the field index of the currently active @@ -1188,4 +1193,8 @@ extern struct value *call_xmethod (struct value *method, extern int value_union_variant (struct type *union_type, const gdb_byte *contents); +/* Destroy the values currently allocated. This is called when GDB is + exiting (e.g., on quit_force). */ +extern void finalize_values (); + #endif /* !defined (VALUE_H) */