mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-10 19:24:29 +00:00
* parser-defs.h (namecopy): Delete.
* parse.c (namecopy, namecopy_size): Move into copy_name.
This commit is contained in:
parent
06db92f054
commit
1a4eeb9811
@ -1,3 +1,8 @@
|
||||
2012-01-09 Doug Evans <dje@google.com>
|
||||
|
||||
* parser-defs.h (namecopy): Delete.
|
||||
* parse.c (namecopy, namecopy_size): Move into copy_name.
|
||||
|
||||
2012-01-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Partially fix duplicate .o files after omitting libbfd.a.
|
||||
|
29
gdb/parse.c
29
gdb/parse.c
@ -90,16 +90,6 @@ int in_parse_field;
|
||||
'->'. This is set when parsing and is only used when completing a
|
||||
field name. It is -1 if no dereference operation was found. */
|
||||
static int expout_last_struct = -1;
|
||||
|
||||
/* A temporary buffer for identifiers, so we can null-terminate them.
|
||||
|
||||
We allocate this with xrealloc. parse_exp_1 used to allocate with
|
||||
alloca, using the size of the whole expression as a conservative
|
||||
estimate of the space needed. However, macro expansion can
|
||||
introduce names longer than the original expression; there's no
|
||||
practical way to know beforehand how large that might be. */
|
||||
char *namecopy;
|
||||
size_t namecopy_size;
|
||||
|
||||
static int expressiondebug = 0;
|
||||
static void
|
||||
@ -744,13 +734,28 @@ find_template_name_end (char *p)
|
||||
}
|
||||
|
||||
|
||||
/* Return a null-terminated temporary copy of the name of a string token.
|
||||
|
||||
/* Return a null-terminated temporary copy of the name
|
||||
of a string token. */
|
||||
Tokens that refer to names do so with explicit pointer and length,
|
||||
so they can share the storage that lexptr is parsing.
|
||||
When it is necessary to pass a name to a function that expects
|
||||
a null-terminated string, the substring is copied out
|
||||
into a separate block of storage.
|
||||
|
||||
N.B. A single buffer is reused on each call. */
|
||||
|
||||
char *
|
||||
copy_name (struct stoken token)
|
||||
{
|
||||
/* A temporary buffer for identifiers, so we can null-terminate them.
|
||||
We allocate this with xrealloc. parse_exp_1 used to allocate with
|
||||
alloca, using the size of the whole expression as a conservative
|
||||
estimate of the space needed. However, macro expansion can
|
||||
introduce names longer than the original expression; there's no
|
||||
practical way to know beforehand how large that might be. */
|
||||
static char *namecopy;
|
||||
static size_t namecopy_size;
|
||||
|
||||
/* Make sure there's enough space for the token. */
|
||||
if (namecopy_size < token.length + 1)
|
||||
{
|
||||
|
@ -216,17 +216,6 @@ extern char *lexptr;
|
||||
Currently used only for error reporting. */
|
||||
extern char *prev_lexptr;
|
||||
|
||||
/* Tokens that refer to names do so with explicit pointer and length,
|
||||
so they can share the storage that lexptr is parsing.
|
||||
|
||||
When it is necessary to pass a name to a function that expects
|
||||
a null-terminated string, the substring is copied out
|
||||
into a block of storage that namecopy points to.
|
||||
|
||||
namecopy is allocated once, guaranteed big enough, for each parsing. */
|
||||
|
||||
extern char *namecopy;
|
||||
|
||||
/* Current depth in parentheses within the expression. */
|
||||
|
||||
extern int paren_depth;
|
||||
|
Loading…
x
Reference in New Issue
Block a user