EXTERN unsigned char processing_acc_compilation;
+/* elz: added this flag to know when a block is compiled with HP
+ compilers (cc, aCC). This is necessary because of the macro
+ COERCE_FLOAT_TO_DOUBLE defined in tm_hppa.h, which causes
+ a coercion of float to double to always occur in parameter passing
+ for a function called by gdb (see the function value_arg_coerce in
+ valops.c). This is necessary only if the target
+ was compiled with gcc, not with HP compilers or with g++ */
+
+EXTERN unsigned char processing_hp_compilation;
+
/* Count symbols as they are processed, for error messages. */
EXTERN unsigned int symnum;
EXTERN struct pending *local_symbols; /* everything local to lexic context */
+EXTERN struct pending *param_symbols; /* func params local to lexic context */
+
/* Stack representing unclosed lexical contexts
(that will become blocks, eventually). */
struct pending *locals;
+ /* Pending func params at the time we entered */
+
+ struct pending *params;
+
/* Pointer into blocklist as of entry */
struct pending_block *old_blocks;
struct block *block;
};
+/* Pointer to the head of a linked list of symbol blocks which have
+ already been finalized (lexical contexts already closed) and which are
+ just waiting to be built into a blockvector when finalizing the
+ associated symtab. */
+
+EXTERN struct pending_block *pending_blocks;
+
\f
struct subfile_stack
{
extern void
record_debugformat PARAMS ((char *));
+extern void
+merge_symbol_lists PARAMS ((struct pending **, struct pending **));
+
#undef EXTERN
#endif /* defined (BUILDSYM_H) */