This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA]: Remove warnings from ada-exp.tab.c compilation


Now committed.

Paul Hilfinger

ChangeLog:

2004-10-06  Paul N. Hilfinger  <Hilfinger@gnat.com>

	* Makefile.in (.l.c): Do conversions of names of alloc and free 
	functions that are done for .y.c files, plus special one
	for yy_flex_realloc.  Also, correct missing-file tests here.
	* ada-lex.l (malloc, free): Remove macros.
	(resize_tempbuf): Use "realloc"; rely on sed changes to convert to
	xrealloc.
	(ada_flex_use): Dummy definition to remove warnings about unused
	functions.
	* ada-exp.y (dummy_string_to_ada_operator): Temporary definition
	to suppress warning.
	

Index: gdb/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.637
diff -u -p -r1.637 Makefile.in
--- gdb/Makefile.in	3 Oct 2004 08:35:57 -0000	1.637
+++ gdb/Makefile.in	6 Oct 2004 09:25:42 -0000
@@ -1582,14 +1582,24 @@ po/$(PACKAGE).pot: force
 	-rm $@.tmp
 	mv $@.new ./$*.c
 .l.c:
-	@if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \
-	    echo $(FLEX) -o$@ $<; \
-	    $(FLEX) -o$@ $<; \
-	elif [ ! -f $@ -a ! -f $< ]; then \
-	    echo "$< missing and flex not available."; \
-	    false; \
-	elif [ ! -f $@ ]; then \
+	if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \
+	    $(FLEX) -o$@ $< && \
+	    rm -f $@.new && \
+	    sed -e '/extern.*malloc/d' \
+	        -e '/extern.*realloc/d' \
+	        -e '/extern.*free/d' \
+	        -e '/include.*malloc.h/d' \
+	        -e 's/malloc/xmalloc/g' \
+	        -e 's/realloc/xrealloc/g' \
+		-e 's/yy_flex_xrealloc/yyxrealloc/g' \
+	      < $@ > $@.new && \
+	    rm -f $@ && \
+	    mv $@.new $@; \
+	elif [ -f $@ ]; then \
 	    echo "Warning: $*.c older than $*.l and flex not available."; \
+	else \
+	    echo "$@ missing and flex not available."; \
+	    false; \
 	fi
 
 .PRECIOUS: ada-exp.c ada-lex.c
Index: gdb/ada-exp.y
===================================================================
RCS file: /cvs/src/src/gdb/ada-exp.y,v
retrieving revision 1.12
diff -u -p -r1.12 ada-exp.y
--- gdb/ada-exp.y	18 Sep 2004 22:23:23 -0000	1.12
+++ gdb/ada-exp.y	6 Oct 2004 09:25:42 -0000
@@ -952,3 +952,13 @@ _initialize_ada_exp (void)
 {
   obstack_init (&temp_parse_space);
 }
+
+/* FIXME: hilfingr/2004-10-05: Hack to remove warning.  The function
+   string_to_operator is supposed to be used for cases where one
+   calls an operator function with prefix notation, as in 
+   "+" (a, b), but at some point, this code seems to have gone
+   missing. */
+
+struct stoken (*dummy_string_to_ada_operator) (struct stoken) 
+     = string_to_operator;
+
Index: gdb/ada-lex.l
===================================================================
RCS file: /cvs/src/src/gdb/ada-lex.l,v
retrieving revision 1.8
diff -u -p -r1.8 ada-lex.l
--- gdb/ada-lex.l	3 Oct 2004 08:35:56 -0000	1.8
+++ gdb/ada-lex.l	6 Oct 2004 09:25:42 -0000
@@ -42,8 +42,6 @@ EXP	(e[+-]{NUM10})
 POSEXP  (e"+"?{NUM10})
 
 %{
-#define malloc xmalloc
-#define free xfree
 
 #define NUMERAL_WIDTH 256
 #define LONGEST_SIGN ((ULONGEST) 1 << (sizeof(LONGEST) * HOST_CHAR_BIT - 1))
@@ -349,7 +347,7 @@ resize_tempbuf (unsigned int n)
   if (tempbufsize < n)
     {
       tempbufsize = (n+63) & ~63;
-      tempbuf = (char *) xrealloc (tempbuf, tempbufsize);
+      tempbuf = (char *) realloc (tempbuf, tempbufsize);
     }
 }
 
@@ -923,3 +921,10 @@ yywrap(void)
 {
   return 1;
 }
+
+/* Dummy definition to suppress warnings about unused static definitions. */
+typedef void (*dummy_function) ();
+dummy_function ada_flex_use[] = 
+{ 
+  (dummy_function) yyrealloc, (dummy_function) yyunput
+};


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]