ahead and add it. Otherwise, just return sym. */
char *s;
int refnum;
- extern int symbol_reference_defined PARAMS ((char **));
- extern void ref_add PARAMS ((int, struct symbol *, char *, CORE_ADDR));
- extern struct symbol * ref_search PARAMS ((int));
-
/* If defined, store away a pointer to the symbol;
we'll use it later when we resolve references in
"resolve_symbol_reference". */
+
s = name;
if (refnum = symbol_reference_defined (&s), refnum)
if (!ref_search (refnum))
static int
copy_cfront_struct_fields PARAMS ((struct field_info *, struct type *,
- struct objfile *));
+ struct objfile *));
static char *
get_cfront_method_physname PARAMS ((char *));
static int
read_cfront_baseclasses PARAMS ((struct field_info *, char **,
- struct type *, struct objfile *));
+ struct type *, struct objfile *));
static int
read_cfront_static_fields PARAMS ((struct field_info *, char**,
- struct type *, struct objfile *));
+ struct type *, struct objfile *));
static int
read_cfront_member_functions PARAMS ((struct field_info *, char **,
- struct type *, struct objfile *));
+ struct type *, struct objfile *));
+
/* end new functions added for cfront support */
static void
static CORE_ADDR
ref_search_value PARAMS ((int refnum));
-struct symbol *
-ref_search PARAMS ((int refnum));
-
+static void
+ref_init PARAMS ((void));
+static char *
+get_substring PARAMS ((char ** p, int c));
static const char vptr_name[] = { '_','v','p','t','r',CPLUS_MARKER,'\0' };
static const char vb_name[] = { '_','v','b',CPLUS_MARKER,'\0' };
leave as is, as long as we read and process an object's symbol table all
at once. */
static int ref_count = 0; /* Ptr to free cell in linked list. */
-static void ref_init ()
+static void
+ref_init ()
{
ref_count = 0;
memset (ref_map, 0, MAX_REFS * sizeof (struct ref_map_s));
ref_map[refnum].value = value;
}
-/* Remove reference at refnum.
- This should be called before a new symbol table is read to clear out the
- previous symbol's reference information. */
-/* FIXME! not used at the moment. */
-static void
-ref_rmv (refnum)
- int refnum;
-{
- if (ref_count < 0)
- error ("slots are empty\n");
- if (refnum < 0 || refnum > ref_count)
- error ("No reference for refnum.\n");
- /* Copy last element over the removed element and reduce count. */
- ref_map[refnum].stabs = ref_map[ref_count].stabs;
- ref_map[refnum].sym = ref_map[ref_count].sym;
- --ref_count;
-}
-
/* Return defined sym for the reference "refnum" */
struct symbol *
ref_search (refnum)
}
/* Return value for the reference "refnum" */
-CORE_ADDR
+static CORE_ADDR
ref_search_value (refnum)
int refnum;
{
return 0;
}
-void
+static void
add_live_range (objfile, sym, start, end)
struct objfile *objfile;
struct symbol *sym;
extern void
finish_global_stabs PARAMS ((struct objfile *objfile));
-extern int
-resolve_cfront_continuation PARAMS((struct objfile * objfile,
- struct symbol * sym, char * p));
\f
EXTERN int os9k_stabs;
\f
extern void elfstab_offset_sections PARAMS ((struct objfile *,
struct partial_symtab *));
-extern void process_later PARAMS ((struct symbol *, char *,
- int (*f) (struct objfile *, struct symbol *, char *)));
+extern void process_later
+ PARAMS ((struct symbol *, char *,
+ int (*f) PARAMS ((struct objfile *, struct symbol *, char *))));
+
+extern int symbol_reference_defined PARAMS ((char **));
+
+extern void ref_add PARAMS ((int, struct symbol *, char *, CORE_ADDR));
+
+extern struct symbol * ref_search PARAMS ((int));
+
+extern struct symbol * resolve_reference PARAMS ((char *p));
+
+extern int resolve_symbol_reference
+ PARAMS ((struct objfile * objfile, struct symbol * sym, char * p));
+
+extern int resolve_cfront_continuation
+ PARAMS ((struct objfile * objfile, struct symbol * sym, char * p));
#undef EXTERN