/* Symbol table definitions for GDB.
- Copyright (C) 1986-2013 Free Software Foundation, Inc.
+ Copyright (C) 1986-2014 Free Software Foundation, Inc.
This file is part of GDB.
struct block *block;
- gdb_byte *bytes;
+ const gdb_byte *bytes;
CORE_ADDR address;
STRUCT_DOMAIN,
+ /* MODULE_DOMAIN is used in Fortran to hold module type names. */
+
+ MODULE_DOMAIN,
+
/* LABEL_DOMAIN may be used for names of labels (for gotos). */
LABEL_DOMAIN,
COMMON_BLOCK_DOMAIN
} domain_enum;
+extern const char *domain_name (domain_enum);
+
/* Searching domains, used for `search_symbols'. Element numbers are
hardcoded in GDB, check all enum uses before changing it. */
ALL_DOMAIN = 3
};
+extern const char *search_domain_name (enum search_domain);
+
/* An address-class says where to find the value of a symbol. */
enum address_class
/* Name of this source file. This pointer is never NULL. */
- char *filename;
+ const char *filename;
/* Directory in which it was compiled, or NULL if we don't know. */
- char *dirname;
+ const char *dirname;
/* Total number of lines found in source file. */
#define BLOCKVECTOR(symtab) (symtab)->blockvector
#define LINETABLE(symtab) (symtab)->linetable
#define SYMTAB_PSPACE(symtab) (symtab)->objfile->pspace
+
+/* Call this to set the "primary" field in struct symtab. */
+extern void set_symtab_primary (struct symtab *, int primary);
+
+typedef struct symtab *symtab_ptr;
+DEF_VEC_P (symtab_ptr);
+
\f
/* The virtual function table is now an array of structures which have the
int matching_obj_sections (struct obj_section *, struct obj_section *);
-extern const char *find_main_filename (void);
-
extern struct symtab *find_line_symtab (struct symtab *, int, int *, int *);
extern struct symtab_and_line find_function_start_sal (struct symbol *sym,
/* Information describing what was found.
- If symtab abd symbol are NOT NULL, then information was found
+ If symtab and symbol are NOT NULL, then information was found
for this match. */
struct symtab *symtab;
struct symbol *symbol;
/* If msymbol is non-null, then a match was made on something for
which only minimal_symbols exist. */
- struct minimal_symbol *msymbol;
+ struct bound_minimal_symbol msymbol;
/* A link to the next match, or NULL for the end. */
struct symbol_search *next;
struct symbol_search **);
extern void free_search_symbols (struct symbol_search *);
extern struct cleanup *make_cleanup_free_search_symbols (struct symbol_search
- *);
+ **);
/* The name of the ``main'' function.
FIXME: cagney/2001-03-20: Can't make main_name() const since some
of the calling code currently assumes that the string isn't
const. */
-extern void set_main_name (const char *name);
extern /*const */ char *main_name (void);
-extern enum language language_of_main;
+extern enum language main_language (void);
/* Check global symbols in objfile. */
struct symbol *lookup_global_symbol_from_objfile (const struct objfile *,
struct objfile *lookup_objfile_from_block (const struct block *block);
-extern int symtab_create_debug;
+extern unsigned int symtab_create_debug;
extern int basenames_may_differ;