| OLD | NEW |
| 1 /* Abstraction of various C++ ABI's we support, and the info we need | 1 /* Abstraction of various C++ ABI's we support, and the info we need |
| 2 to get from them. | 2 to get from them. |
| 3 | 3 |
| 4 Contributed by Daniel Berlin <dberlin@redhat.com> | 4 Contributed by Daniel Berlin <dberlin@redhat.com> |
| 5 | 5 |
| 6 Copyright (C) 2001, 2005-2012 Free Software Foundation, Inc. | 6 Copyright (C) 2001, 2005-2012 Free Software Foundation, Inc. |
| 7 | 7 |
| 8 This file is part of GDB. | 8 This file is part of GDB. |
| 9 | 9 |
| 10 This program is free software; you can redistribute it and/or modify | 10 This program is free software; you can redistribute it and/or modify |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 struct value *cplus_method_ptr_to_value (struct value **this_p, | 166 struct value *cplus_method_ptr_to_value (struct value **this_p, |
| 167 struct value *method_ptr); | 167 struct value *method_ptr); |
| 168 | 168 |
| 169 /* Create the byte pattern in CONTENTS representing a pointer of type | 169 /* Create the byte pattern in CONTENTS representing a pointer of type |
| 170 TYPE to member function at ADDRESS (if IS_VIRTUAL is 0) or with | 170 TYPE to member function at ADDRESS (if IS_VIRTUAL is 0) or with |
| 171 virtual table offset ADDRESS (if IS_VIRTUAL is 1). This is the | 171 virtual table offset ADDRESS (if IS_VIRTUAL is 1). This is the |
| 172 opposite of cplus_method_ptr_to_value. */ | 172 opposite of cplus_method_ptr_to_value. */ |
| 173 void cplus_make_method_ptr (struct type *type, gdb_byte *CONTENTS, | 173 void cplus_make_method_ptr (struct type *type, gdb_byte *CONTENTS, |
| 174 CORE_ADDR address, int is_virtual); | 174 CORE_ADDR address, int is_virtual); |
| 175 | 175 |
| 176 /* Print the vtable for VALUE, if there is one. If there is no |
| 177 vtable, print a message, but do not throw. */ |
| 178 |
| 179 void cplus_print_vtable (struct value *value); |
| 180 |
| 176 /* Determine if we are currently in a C++ thunk. If so, get the | 181 /* Determine if we are currently in a C++ thunk. If so, get the |
| 177 address of the routine we are thunking to and continue to there | 182 address of the routine we are thunking to and continue to there |
| 178 instead. */ | 183 instead. */ |
| 179 | 184 |
| 180 CORE_ADDR cplus_skip_trampoline (struct frame_info *frame, | 185 CORE_ADDR cplus_skip_trampoline (struct frame_info *frame, |
| 181 CORE_ADDR stop_pc); | 186 CORE_ADDR stop_pc); |
| 182 | 187 |
| 183 /* Return non-zero if an argument of type TYPE should be passed by | 188 /* Return non-zero if an argument of type TYPE should be passed by |
| 184 reference instead of value. */ | 189 reference instead of value. */ |
| 185 extern int cp_pass_by_reference (struct type *type); | 190 extern int cp_pass_by_reference (struct type *type); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 206 const bfd_byte *valaddr, int embedded_offset, | 211 const bfd_byte *valaddr, int embedded_offset, |
| 207 CORE_ADDR address, const struct value *val); | 212 CORE_ADDR address, const struct value *val); |
| 208 void (*print_method_ptr) (const gdb_byte *contents, | 213 void (*print_method_ptr) (const gdb_byte *contents, |
| 209 struct type *type, | 214 struct type *type, |
| 210 struct ui_file *stream); | 215 struct ui_file *stream); |
| 211 int (*method_ptr_size) (struct type *); | 216 int (*method_ptr_size) (struct type *); |
| 212 void (*make_method_ptr) (struct type *, gdb_byte *, | 217 void (*make_method_ptr) (struct type *, gdb_byte *, |
| 213 CORE_ADDR, int); | 218 CORE_ADDR, int); |
| 214 struct value * (*method_ptr_to_value) (struct value **, | 219 struct value * (*method_ptr_to_value) (struct value **, |
| 215 struct value *); | 220 struct value *); |
| 221 void (*print_vtable) (struct value *); |
| 216 CORE_ADDR (*skip_trampoline) (struct frame_info *, CORE_ADDR); | 222 CORE_ADDR (*skip_trampoline) (struct frame_info *, CORE_ADDR); |
| 217 int (*pass_by_reference) (struct type *type); | 223 int (*pass_by_reference) (struct type *type); |
| 218 }; | 224 }; |
| 219 | 225 |
| 220 | 226 |
| 221 extern int register_cp_abi (struct cp_abi_ops *abi); | 227 extern int register_cp_abi (struct cp_abi_ops *abi); |
| 222 extern void set_cp_abi_as_auto_default (const char *short_name); | 228 extern void set_cp_abi_as_auto_default (const char *short_name); |
| 223 | 229 |
| 224 #endif | 230 #endif |
| 225 | 231 |
| OLD | NEW |