mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
* Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns to
remap all malloc's to xmalloc's and all realloc's to xrealloc's. * c-exp.y, m2-exp.y: Add comment about how malloc/realloc are remapped to xmalloc/xrealloc, use only malloc/realloc in grammer file. Remove preprocessor defines that previously did remapping.
This commit is contained in:
parent
b533ed9479
commit
e35843d476
@ -1,3 +1,11 @@
|
||||
FFri Oct 30 16:33:02 1992 Fred Fish (fnf@cygnus.com)
|
||||
|
||||
* Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns to
|
||||
remap all malloc's to xmalloc's and all realloc's to xrealloc's.
|
||||
* c-exp.y, m2-exp.y: Add comment about how malloc/realloc are
|
||||
remapped to xmalloc/xrealloc, use only malloc/realloc in grammer
|
||||
file. Remove preprocessor defines that previously did remapping.
|
||||
|
||||
Tue Oct 27 17:08:45 1992 K. Richard Pixley (rich@cygnus.com)
|
||||
|
||||
hp300 native support (hp300hpux untested).
|
||||
|
@ -673,6 +673,8 @@ c-exp.tab.c: $(srcdir)/c-exp.y
|
||||
-sed -e '/extern.*malloc/d' \
|
||||
-e '/extern.*realloc/d' \
|
||||
-e '/extern.*free/d' \
|
||||
-e 's/malloc/xmalloc/g' \
|
||||
-e 's/realloc/xrealloc/g' \
|
||||
< y.tab.c > c-exp.tab.c
|
||||
-rm y.tab.c
|
||||
|
||||
@ -684,6 +686,8 @@ m2-exp.tab.c: $(srcdir)/m2-exp.y
|
||||
-sed -e '/extern.*malloc/d' \
|
||||
-e '/extern.*realloc/d' \
|
||||
-e '/extern.*free/d' \
|
||||
-e 's/malloc/xmalloc/g' \
|
||||
-e 's/realloc/xrealloc/g' \
|
||||
< y.tab.c > m2-exp.tab.c
|
||||
-rm y.tab.c
|
||||
|
||||
|
26
gdb/c-exp.y
26
gdb/c-exp.y
@ -24,7 +24,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
See expression.h for the details of the format.
|
||||
What is important here is that it can be built up sequentially
|
||||
during the process of parsing; the lower levels of the tree always
|
||||
come first in the result. */
|
||||
come first in the result.
|
||||
|
||||
Note that malloc's and realloc's in this file are transformed to
|
||||
xmalloc and xrealloc respectively by the same sed command in the
|
||||
makefile that remaps any other malloc/realloc inserted by the parser
|
||||
generator. Doing this with #defines and trying to control the interaction
|
||||
with include files (<malloc.h> and <stdlib.h> for example) just became
|
||||
too messy, particularly when such includes can be inserted at random
|
||||
times by the parser generator. */
|
||||
|
||||
%{
|
||||
|
||||
@ -193,18 +201,6 @@ parse_number PARAMS ((char *, int, int, YYSTYPE *));
|
||||
%type <bval> block
|
||||
%left COLONCOLON
|
||||
|
||||
%{
|
||||
/* Ensure that if the generated parser contains any calls to malloc/realloc,
|
||||
that they get mapped to xmalloc/xrealloc. We have to do this here
|
||||
rather than earlier in the file because this is the first point after
|
||||
the place where the SVR4 yacc includes <malloc.h>, and if we do it
|
||||
before that, then the remapped declarations in <malloc.h> will collide
|
||||
with the ones in "defs.h". */
|
||||
|
||||
#define malloc xmalloc
|
||||
#define realloc xrealloc
|
||||
%}
|
||||
|
||||
|
||||
%%
|
||||
|
||||
@ -913,13 +909,13 @@ typename: TYPENAME
|
||||
|
||||
nonempty_typelist
|
||||
: type
|
||||
{ $$ = (struct type **) xmalloc (sizeof (struct type *) * 2);
|
||||
{ $$ = (struct type **) malloc (sizeof (struct type *) * 2);
|
||||
$<ivec>$[0] = 1; /* Number of types in vector */
|
||||
$$[1] = $1;
|
||||
}
|
||||
| nonempty_typelist ',' type
|
||||
{ int len = sizeof (struct type *) * (++($<ivec>1[0]) + 1);
|
||||
$$ = (struct type **) xrealloc ((char *) $1, len);
|
||||
$$ = (struct type **) realloc ((char *) $1, len);
|
||||
$$[$<ivec>$[0]] = $3;
|
||||
}
|
||||
;
|
||||
|
26
gdb/m2-exp.y
26
gdb/m2-exp.y
@ -26,9 +26,18 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
See expression.h for the details of the format.
|
||||
What is important here is that it can be built up sequentially
|
||||
during the process of parsing; the lower levels of the tree always
|
||||
come first in the result. */
|
||||
come first in the result.
|
||||
|
||||
Note that malloc's and realloc's in this file are transformed to
|
||||
xmalloc and xrealloc respectively by the same sed command in the
|
||||
makefile that remaps any other malloc/realloc inserted by the parser
|
||||
generator. Doing this with #defines and trying to control the interaction
|
||||
with include files (<malloc.h> and <stdlib.h> for example) just became
|
||||
too messy, particularly when such includes can be inserted at random
|
||||
times by the parser generator. */
|
||||
|
||||
%{
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "defs.h"
|
||||
@ -177,18 +186,7 @@ struct block *modblock=0;
|
||||
%right QID
|
||||
*/
|
||||
|
||||
%{
|
||||
/* Ensure that if the generated parser contains any calls to malloc/realloc,
|
||||
that they get mapped to xmalloc/xrealloc. We have to do this here
|
||||
rather than earlier in the file because this is the first point after
|
||||
the place where the SVR4 yacc includes <malloc.h>, and if we do it
|
||||
before that, then the remapped declarations in <malloc.h> will collide
|
||||
with the ones in "defs.h". */
|
||||
|
||||
#define malloc xmalloc
|
||||
#define realloc xrealloc
|
||||
%}
|
||||
|
||||
|
||||
%%
|
||||
|
||||
start : exp
|
||||
@ -1159,7 +1157,7 @@ static char *
|
||||
make_qualname(mod,ident)
|
||||
char *mod, *ident;
|
||||
{
|
||||
char *new = xmalloc(strlen(mod)+strlen(ident)+2);
|
||||
char *new = malloc(strlen(mod)+strlen(ident)+2);
|
||||
|
||||
strcpy(new,mod);
|
||||
strcat(new,".");
|
||||
|
Loading…
Reference in New Issue
Block a user