struct axs_value;
struct agent_expr;
struct program_space;
+struct language_defn;
/* Some of the structures in this file are space critical.
The space-critical structures are:
/* All defined types */
TYPES_DOMAIN = 2,
+
+ /* Any type. */
+ ALL_DOMAIN = 3
};
/* An address-class says where to find the value of a symbol. */
should be designated the primary, so that the blockvector
is relocated exactly once by objfile_relocate. */
- int primary;
+ unsigned int primary : 1;
+
+ /* Symtab has been compiled with both optimizations and debug info so that
+ GDB may stop skipping prologues as variables locations are valid already
+ at function entry points. */
+
+ unsigned int locations_valid : 1;
+
+ /* DWARF unwinder for this CU is valid even for epilogues (PC at the return
+ instruction). This is supported by GCC since 4.5.0. */
+
+ unsigned int epilogue_unwind_valid : 1;
/* The macro table for this symtab. Like the blockvector, this
may be shared between different symtabs --- and normally is for
/* External variables and functions for the objects described above. */
-/* See the comment in symfile.c about how current_objfile is used. */
-
-extern struct objfile *current_objfile;
-
/* True if we are nested inside psymtab_to_symtab. */
extern int currently_reading_symtab;
const struct block *block,
const domain_enum domain);
+extern struct symbol *lookup_language_this (const struct language_defn *lang,
+ const struct block *block);
+
/* Lookup a symbol only in the file static scope of all the objfiles. */
struct symbol *lookup_static_symbol_aux (const char *name,
/* lookup a [struct, union, enum] by name, within a specified block. */
-extern struct type *lookup_struct (char *, struct block *);
+extern struct type *lookup_struct (const char *, struct block *);
-extern struct type *lookup_union (char *, struct block *);
+extern struct type *lookup_union (const char *, struct block *);
-extern struct type *lookup_enum (char *, struct block *);
+extern struct type *lookup_enum (const char *, struct block *);
/* from blockframe.c: */
is only a GDB in-memory computed value with no external files compatibility
requirements. */
-#define SYMBOL_HASH_NEXT(hash, c) ((hash) * 67 + (c) - 113)
+#define SYMBOL_HASH_NEXT(hash, c) \
+ ((hash) * 67 + tolower ((unsigned char) (c)) - 113)
extern struct objfile * msymbol_objfile (struct minimal_symbol *sym);