X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fcp-abi.h;h=5e9ffbe3d24672d8867f0f2c6f6416489de515aa;hb=bd920864f3dc2cad376989a642ab774aef6b2fce;hp=fa17770d8bfe6aa55ad7d9a239d3c105f36416ec;hpb=42a4f53d2bf8938c2aeda9f52be7a20534b214a9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/cp-abi.h b/gdb/cp-abi.h index fa17770d8b..5e9ffbe3d2 100644 --- a/gdb/cp-abi.h +++ b/gdb/cp-abi.h @@ -3,7 +3,7 @@ Contributed by Daniel Berlin - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 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; @@ -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 */