From 7944822188eb0d050112f2de13d0c7513692a042 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Tue, 8 Mar 1994 15:25:00 +0000 Subject: * parser-defs.h: Add "extern" to start of variable declarations so we don't end up with commons. * parse.c: Define these variables. --- gdb/ChangeLog | 4 ++++ gdb/parse.c | 17 ++++++++++++++++- gdb/parser-defs.h | 26 +++++++++++++------------- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f7813ff..99e386a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ Tue Mar 8 06:56:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + * parser-defs.h: Add "extern" to start of variable declarations so + we don't end up with commons. + * parse.c: Define these variables. + * irix5-nat.c (find_solib): Cast o_path to CORE_ADDR when using it as one. diff --git a/gdb/parse.c b/gdb/parse.c index 38e78bb..5b18538 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -38,7 +38,22 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "command.h" #include "language.h" #include "parser-defs.h" - + +/* Global variables declared in parser-defs.h (and commented there). */ +struct expression *expout; +int expout_size; +int expout_ptr; +struct block *expression_context_block; +struct block *innermost_block; +struct block *block_found; +int arglist_len; +union type_stack_elt *type_stack; +int type_stack_depth, type_stack_size; +char *lexptr; +char *namecopy; +int paren_depth; +int comma_terminates; + static void free_funcalls PARAMS ((void)); diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h index c03e1a2..c7bdd62 100644 --- a/gdb/parser-defs.h +++ b/gdb/parser-defs.h @@ -30,24 +30,24 @@ struct std_regs { extern struct std_regs std_regs[]; extern unsigned num_std_regs; -struct expression *expout; -int expout_size; -int expout_ptr; +extern struct expression *expout; +extern int expout_size; +extern int expout_ptr; /* If this is nonzero, this block is used as the lexical context for symbol names. */ -struct block *expression_context_block; +extern struct block *expression_context_block; /* The innermost context required by the stack and register variables we've encountered so far. */ -struct block *innermost_block; +extern struct block *innermost_block; /* The block in which the most recently discovered symbol was found. */ -struct block *block_found; +extern struct block *block_found; /* Number of arguments seen so far in innermost function call. */ -int arglist_len; +extern int arglist_len; /* A string token, either a char-string or bit-string. Char-strings are used, for example, for the names of symbols. */ @@ -82,8 +82,8 @@ union type_stack_elt { enum type_pieces piece; int int_val; }; -union type_stack_elt *type_stack; -int type_stack_depth, type_stack_size; +extern union type_stack_elt *type_stack; +extern int type_stack_depth, type_stack_size; extern void write_exp_elt PARAMS ((union exp_element)); @@ -134,7 +134,7 @@ extern struct type *follow_types PARAMS ((struct type *)); /* During parsing of a C expression, the pointer to the next character is in this variable. */ -char *lexptr; +extern char *lexptr; /* Tokens that refer to names do so with explicit pointer and length, so they can share the storage that lexptr is parsing. @@ -145,15 +145,15 @@ char *lexptr; namecopy is allocated once, guaranteed big enough, for each parsing. */ -char *namecopy; +extern char *namecopy; /* Current depth in parentheses within the expression. */ -int paren_depth; +extern int paren_depth; /* Nonzero means stop parsing on first comma (if not within parentheses). */ -int comma_terminates; +extern int comma_terminates; /* These codes indicate operator precedences for expression printing, least tightly binding first. */ -- cgit v1.1