summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog13
-rw-r--r--gdb/Makefile.in24
-rw-r--r--gdb/ada-exp.y10
-rw-r--r--gdb/ada-lex.l11
4 files changed, 48 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9c27b80749b..72a2bba2050 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,16 @@
+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.
+
2004-10-06 Corinna Vinschen <vinschen@redhat.com>
* sh-tdep.c (sh_return_value_nofpu): New function, implementing
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 3a4bd371974..7593256eaa3 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -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
diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y
index 73bd120a48f..936a5a7c0e1 100644
--- a/gdb/ada-exp.y
+++ b/gdb/ada-exp.y
@@ -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;
+
diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l
index 10870581a61..e4b8999d4e4 100644
--- a/gdb/ada-lex.l
+++ b/gdb/ada-lex.l
@@ -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
+};