aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/Makefile.in4
-rw-r--r--gdb/c-exp.y26
-rw-r--r--gdb/m2-exp.y26
4 files changed, 35 insertions, 29 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d7fd3ff..4743e4e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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).
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 9e0c0c4..c4a5cda 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -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
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 3389142..3fe853e 100644
--- a/gdb/c-exp.y
+++ b/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;
}
;
diff --git a/gdb/m2-exp.y b/gdb/m2-exp.y
index 73e0855..d932e16 100644
--- a/gdb/m2-exp.y
+++ b/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,".");