X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fcp-abi.h;h=c53b02d509c1e2eedd7d6848d72cba8bcc0013d1;hb=29ef4c0699e1b46d41ade00ae07a54f979ea21cc;hp=6b82eacd01e6b9429035ee574d1688da8267721e;hpb=61baf725eca99af2569262d10aca03dcde2698f6;p=binutils-gdb.git diff --git a/gdb/cp-abi.h b/gdb/cp-abi.h index 6b82eacd01e..c53b02d509c 100644 --- a/gdb/cp-abi.h +++ b/gdb/cp-abi.h @@ -3,7 +3,7 @@ Contributed by Daniel Berlin - Copyright (C) 2001-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2022 Free Software Foundation, Inc. This file is part of GDB. @@ -20,8 +20,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef CP_ABI_H_ -#define CP_ABI_H_ 1 +#ifndef CP_ABI_H +#define CP_ABI_H struct fn_field; struct type; @@ -135,7 +135,7 @@ extern struct value *value_virtual_fn_field (struct value **valuep, FULL, TOP, and USING_ENC can each be zero, in which case we don't provide the corresponding piece of information. */ extern struct type *value_rtti_type (struct value *value, - int *full, LONGEST *top, + int *full, LONGEST *top, int *using_enc); /* Compute the offset of the baseclass which is the INDEXth baseclass @@ -207,9 +207,11 @@ extern std::string cplus_typename_from_type_info (struct value *value); CORE_ADDR cplus_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc); -/* Return non-zero if an argument of type TYPE should be passed by - reference instead of value. */ -extern int cp_pass_by_reference (struct type *type); +/* Return a struct that provides pass-by-reference information + about the given TYPE. */ + +extern struct language_pass_by_ref_info cp_pass_by_reference + (struct type *type); struct cp_abi_ops { @@ -246,12 +248,11 @@ struct cp_abi_ops struct type *(*get_type_from_type_info) (struct value *value); std::string (*get_typename_from_type_info) (struct value *value); CORE_ADDR (*skip_trampoline) (struct frame_info *, CORE_ADDR); - int (*pass_by_reference) (struct type *type); + struct language_pass_by_ref_info (*pass_by_reference) (struct type *type); }; extern int register_cp_abi (struct cp_abi_ops *abi); extern void set_cp_abi_as_auto_default (const char *short_name); -#endif - +#endif /* CP_ABI_H */