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

Side by Side Diff: gdb/cp-support.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/cp-namespace.c ('k') | gdb/cp-support.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 /* Helper routines for C++ support in GDB. 1 /* Helper routines for C++ support in GDB.
2 Copyright (C) 2002-2005, 2007-2012 Free Software Foundation, Inc. 2 Copyright (C) 2002-2005, 2007-2012 Free Software Foundation, Inc.
3 3
4 Contributed by MontaVista Software. 4 Contributed by MontaVista Software.
5 Namespace support contributed by David Carlton. 5 Namespace support contributed by David Carlton.
6 6
7 This file is part of GDB. 7 This file is part of GDB.
8 8
9 This program is free software; you can redistribute it and/or modify 9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by 10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or 11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version. 12 (at your option) any later version.
13 13
14 This program is distributed in the hope that it will be useful, 14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details. 17 GNU General Public License for more details.
18 18
19 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21 21
22 #ifndef CP_SUPPORT_H 22 #ifndef CP_SUPPORT_H
23 #define CP_SUPPORT_H 23 #define CP_SUPPORT_H
24 24
25 /* We need this for 'domain_enum', alas... */ 25 /* We need this for 'domain_enum', alas... */
26 26
27 #include "symtab.h" 27 #include "symtab.h"
28 #include "vec.h" 28 #include "vec.h"
29 #include "gdb_vecs.h"
29 #include "gdb_obstack.h" 30 #include "gdb_obstack.h"
30 31
31 /* Opaque declarations. */ 32 /* Opaque declarations. */
32 33
33 struct symbol; 34 struct symbol;
34 struct block; 35 struct block;
35 struct objfile; 36 struct objfile;
36 struct type; 37 struct type;
37 struct demangle_component; 38 struct demangle_component;
38 39
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 extern struct symbol **make_symbol_overload_list (const char *, 164 extern struct symbol **make_symbol_overload_list (const char *,
164 const char *); 165 const char *);
165 166
166 extern struct symbol **make_symbol_overload_list_adl (struct type **arg_types, 167 extern struct symbol **make_symbol_overload_list_adl (struct type **arg_types,
167 int nargs, 168 int nargs,
168 const char *func_name); 169 const char *func_name);
169 170
170 extern struct type *cp_lookup_rtti_type (const char *name, 171 extern struct type *cp_lookup_rtti_type (const char *name,
171 struct block *block); 172 struct block *block);
172 173
173 extern int cp_validate_operator (const char *input);
174
175 /* Functions/variables from cp-namespace.c. */ 174 /* Functions/variables from cp-namespace.c. */
176 175
177 extern int cp_is_anonymous (const char *namespace); 176 extern int cp_is_anonymous (const char *namespace);
178 177
179 DEF_VEC_P (const_char_ptr);
180
181 extern void cp_add_using_directive (const char *dest, 178 extern void cp_add_using_directive (const char *dest,
182 const char *src, 179 const char *src,
183 const char *alias, 180 const char *alias,
184 const char *declaration, 181 const char *declaration,
185 VEC (const_char_ptr) *excludes, 182 VEC (const_char_ptr) *excludes,
186 struct obstack *obstack); 183 struct obstack *obstack);
187 184
188 extern void cp_initialize_namespace (void);
189
190 extern void cp_finalize_namespace (struct block *static_block,
191 struct obstack *obstack);
192
193 extern void cp_set_block_scope (const struct symbol *symbol, 185 extern void cp_set_block_scope (const struct symbol *symbol,
194 struct block *block, 186 struct block *block,
195 struct obstack *obstack, 187 struct obstack *obstack,
196 const char *processing_current_prefix, 188 const char *processing_current_prefix,
197 int processing_has_namespace_info); 189 int processing_has_namespace_info);
198 190
199 extern void cp_scan_for_anonymous_namespaces (const struct symbol *symbol, 191 extern void cp_scan_for_anonymous_namespaces (const struct symbol *symbol,
200 struct objfile *objfile); 192 struct objfile *objfile);
201 193
202 extern struct symbol *cp_lookup_symbol_nonlocal (const char *name, 194 extern struct symbol *cp_lookup_symbol_nonlocal (const char *name,
(...skipping 11 matching lines...) Expand all
214 const domain_enum domain, 206 const domain_enum domain,
215 const int declaration_only, 207 const int declaration_only,
216 const int search_parents); 208 const int search_parents);
217 209
218 extern struct symbol *cp_lookup_symbol_imports_or_template 210 extern struct symbol *cp_lookup_symbol_imports_or_template
219 (const char *scope, 211 (const char *scope,
220 const char *name, 212 const char *name,
221 const struct block *block, 213 const struct block *block,
222 const domain_enum domain); 214 const domain_enum domain);
223 215
224 extern struct type *cp_lookup_nested_type (struct type *parent_type, 216 extern struct symbol *cp_lookup_nested_symbol (struct type *parent_type,
225 » » » » » const char *nested_name, 217 » » » » » const char *nested_name,
226 » » » » » const struct block *block); 218 » » » » » const struct block *block);
227 219
228 struct type *cp_lookup_transparent_type (const char *name); 220 struct type *cp_lookup_transparent_type (const char *name);
229 221
230 /* Functions from cp-name-parser.y. */ 222 /* Functions from cp-name-parser.y. */
231 223
232 extern struct demangle_parse_info *cp_demangled_name_to_comp 224 extern struct demangle_parse_info *cp_demangled_name_to_comp
233 (const char *demangled_name, const char **errmsg); 225 (const char *demangled_name, const char **errmsg);
234 226
235 extern char *cp_comp_to_string (struct demangle_component *result, 227 extern char *cp_comp_to_string (struct demangle_component *result,
236 int estimated_len); 228 int estimated_len);
237 229
238 extern void cp_demangled_name_parse_free (struct demangle_parse_info *); 230 extern void cp_demangled_name_parse_free (struct demangle_parse_info *);
239 extern struct cleanup *make_cleanup_cp_demangled_name_parse_free 231 extern struct cleanup *make_cleanup_cp_demangled_name_parse_free
240 (struct demangle_parse_info *); 232 (struct demangle_parse_info *);
241 extern void cp_merge_demangle_parse_infos (struct demangle_parse_info *, 233 extern void cp_merge_demangle_parse_infos (struct demangle_parse_info *,
242 struct demangle_component *, 234 struct demangle_component *,
243 struct demangle_parse_info *); 235 struct demangle_parse_info *);
244 236
245 extern struct demangle_parse_info *cp_new_demangle_parse_info (void); 237 extern struct demangle_parse_info *cp_new_demangle_parse_info (void);
246 238
247 /* The list of "maint cplus" commands. */ 239 /* The list of "maint cplus" commands. */
248 240
249 extern struct cmd_list_element *maint_cplus_cmd_list; 241 extern struct cmd_list_element *maint_cplus_cmd_list;
250 242
251 #endif /* CP_SUPPORT_H */ 243 #endif /* CP_SUPPORT_H */
OLDNEW
« no previous file with comments | « gdb/cp-namespace.c ('k') | gdb/cp-support.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698