From: Aidan Skinner <aidan@velvet.net>
To: Andrew Cagney <ac131313@cygnus.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: LEX vs FLEX; Was: [PATCH] Basic Ada files
Date: Sat, 25 May 2002 11:20:00 -0000 [thread overview]
Message-ID: <20020525185404.H13611@velvet.net> (raw)
In-Reply-To: <3CEDA59A.3080704@cygnus.com>; from ac131313@cygnus.com on Thu, May 23, 2002 at 10:29:46PM -0400
[-- Attachment #1: Type: text/plain, Size: 612 bytes --]
On Thu, May 23, 2002 at 10:29:46PM -0400, Andrew Cagney wrote
> Anyway, can you just re-post this patch with a separate ChangeLog and
> with the patch against CVS (using `cvs diff -u' or `cvs diff -p').
Attached to this email. :)
this patch is actually a fair bit smaller than the previous one, I
noticed some more stuff to chuck. It will have to be added when ada
support is enabled for things like breakpoints, but I figure smaller
is better atm.
ChangeLog:
* gdb/Makefile.in: add entries for ada-exp.y, ada-lang.[ch],
ada-lex.[lc], ada-tasks.c, ada-typeprint.c, ada-valprint.c
- Aidan
[-- Attachment #2: ada_makefile.in.patch --]
[-- Type: text/plain, Size: 4909 bytes --]
Index: gdb/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.200
diff -u -r1.200 Makefile.in
--- gdb/Makefile.in 24 May 2002 00:12:16 -0000 1.200
+++ gdb/Makefile.in 25 May 2002 15:21:48 -0000
@@ -79,6 +79,11 @@
YACC=@YACC@
+# This is used to rebuild ada-lex.c from ada-lex.l. If the program is
+# not defined, but ada-lex.c is present, compilation will continue,
+# possibly with a warning.
+FLEX = flex
+
YLWRAP = $(srcdir)/../ylwrap
# where to find makeinfo, preferably one designed for texinfo-2
@@ -523,7 +528,8 @@
# Links made at configuration time should not be specified here, since
# SFILES is used in building the distribution archive.
-SFILES = ax-general.c ax-gdb.c bcache.c blockframe.c breakpoint.c \
+SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
+ ax-general.c ax-gdb.c bcache.c blockframe.c breakpoint.c \
buildsym.c c-exp.y c-lang.c c-typeprint.c c-valprint.c \
ch-exp.c ch-lang.c ch-typeprint.c ch-valprint.c coffread.c \
complaints.c completer.c corefile.c cp-valprint.c dbxread.c \
@@ -735,6 +741,7 @@
exec.o bcache.o objfiles.o minsyms.o maint.o demangle.o \
dbxread.o coffread.o elfread.o \
dwarfread.o dwarf2read.o mipsread.o stabsread.o corefile.o \
+ ada-lang.o ada-typeprint.o ada-valprint.o ada-tasks.o \
c-lang.o ch-exp.o ch-lang.o f-lang.o \
ui-out.o cli-out.o \
varobj.o wrapper.o \
@@ -756,9 +763,11 @@
# For now, shortcut the "configure GDB for fewer languages" stuff.
YYFILES = c-exp.tab.c \
+ ada-exp.tab.c \
jv-exp.tab.c \
f-exp.tab.c m2-exp.tab.c p-exp.tab.c
YYOBJ = c-exp.tab.o \
+ ada-exp.tab.o \
jv-exp.tab.o \
f-exp.tab.o m2-exp.tab.o p-exp.tab.o
@@ -1007,6 +1016,7 @@
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
rm -f c-exp.tab.c \
+ ada-lex.c ada-exp.tab.c \
jv-exp.tab \
f-exp.tab.c m2-exp.tab.c p-exp.tab.c
rm -f TAGS $(INFOFILES)
@@ -1142,6 +1152,33 @@
-rm m2-exp.tmp
mv m2-exp.new ./m2-exp.tab.c
+# ada-exp.tab.c is generated in objdir from ada-exp.y if it doesn't exist
+# in srcdir, then compiled in objdir to ada-exp.tab.o.
+# Remove bogus decls for malloc/realloc/free which conflict with everything
+# else.
+ada-exp.tab.c: ada-exp.y
+ $(YACC) $(YFLAGS) $(srcdir)/ada-exp.y
+ -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' \
+ < y.tab.c > ada-exp.new
+ -rm y.tab.c
+ mv ada-exp.new ./ada-exp.tab.c
+
+ada-lex.c: ada-lex.l
+ @if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \
+ echo $(FLEX) -Isit $(srcdir)/ada-lex.l ">" ada-lex.c; \
+ $(FLEX) -Isit $(srcdir)/ada-lex.l > ada-lex.c; \
+ elif [ ! -f ada-lex.c -a ! -f $(srcdir)/ada-lex.c ]; then \
+ echo "ada-lex.c missing and flex not available."; \
+ false; \
+ elif [ ! -f ada-lex.c ]; then \
+ echo "Warning: ada-lex.c older than ada-lex.l and flex not available."; \
+ fi
+
# p-exp.tab.c is generated in objdir from p-exp.y if it doesn't exist
# in srcdir, then compiled in objdir to p-exp.tab.o.
# Remove bogus decls for malloc/realloc/free which conflict with everything
@@ -1163,6 +1200,7 @@
# These files are updated atomically, so make never has to remove them
.PRECIOUS: m2-exp.tab.c f-exp.tab.c c-exp.tab.c
.PRECIOUS: jv-exp.tab.c p-exp.tab.c
+.PRECIOUS: ada-exp.tab.c
lint: $(LINTFILES)
$(LINT) $(INCLUDE_CFLAGS) $(LINTFLAGS) $(LINTFILES) \
@@ -1259,6 +1297,21 @@
a68v-nat.o: a68v-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) \
$(regcache_h)
+ada-lang.o: ada-lang.c ada-lang.h c-lang.h $(defs_h) $(expression_h) \
+ $(gdbtypes_h) $(inferior_h) language.h parser-defs.h $(symtab_h) \
+ $(gdbcmd_h) $(ui_out_h) symfile.h objfiles.h $(gdbcore_h)
+
+ada-tasks.o: ada-tasks.c ada-lang.h $(defs_h) language.h $(value_h) \
+ $(command_h) $(value_h) $(gdbcore_h)
+
+ada-typeprint.o: ada-typeprint.c ada-lang.h $(defs_h) $(expression_h) \
+ $(gdbcmd_h) $(gdbcore_h) $(gdbtypes_h) language.h $(symtab_h) \
+ target.h typeprint.h $(value_h) ada-lang.h
+
+ada-valprint.o: ada-valprint.c $(defs_h) $(expression_h) $(gdbtypes_h) \
+ language.h $(symtab_h) valprint.h $(value_h) c-lang.h ada-lang.h \
+ annotate.h
+
alpha-nat.o: alpha-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(target_h) \
$(regcache_h) $(alpha_tdep_h)
@@ -2255,6 +2312,11 @@
$(regcache_h)
$(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) \
$(srcdir)/z8k-tdep.c
+
+ada-exp.tab.o: ada-exp.tab.c ada-lex.c ada-lang.h \
+ $(defs_h) $(expression_h) \
+ $(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \
+ $(bfd_h) objfiles.h symfile.h
c-exp.tab.o: c-exp.tab.c $(defs_h) $(gdb_string_h) $(expression_h) \
$(value_h) $(parser_defs_h) $(language_h) $(c_lang_h) $(bfd_h) \
next prev parent reply other threads:[~2002-05-25 17:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-22 11:54 Aidan Skinner
2002-05-23 19:59 ` LEX vs FLEX; Was: " Andrew Cagney
2002-05-23 20:01 ` Paul Hilfinger
2002-05-23 21:46 ` Andrew Cagney
2002-05-24 12:41 ` Michael Snyder
2002-05-25 11:20 ` Aidan Skinner [this message]
2002-05-29 21:56 ` Andrew Cagney
2002-05-31 12:42 ` Aidan Skinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020525185404.H13611@velvet.net \
--to=aidan@velvet.net \
--cc=ac131313@cygnus.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox