Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(291)

Side by Side Diff: gdb/cp-abi.h

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/corelow.c ('k') | gdb/cp-abi.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « gdb/corelow.c ('k') | gdb/cp-abi.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698