* parser-defs.h: Add "extern" to start of variable declarations so

we don't end up with commons.
	* parse.c: Define these variables.
This commit is contained in:
Jim Kingdon 1994-03-08 15:25:00 +00:00
parent ce2f21b2cd
commit 7944822188
3 changed files with 33 additions and 14 deletions

View File

@ -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.

View File

@ -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));

View File

@ -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. */