binutils-gdb/gas/.Sanitize
Ian Lance Taylor 7e047ac2c1 Add support for macros.
* as.c: Include sb.h and macro.h.
	(max_macro_next): New global variable.
	(main): Call macro_init.
	(macro_expr): New static function.
	* as.h (max_macro_nest): Declare.
	* read.c (line_label): Rename from mri_line_label.  Change all
	uses.
	(potable): Add exitm, irp, irpc, macro, mexit, rept.
	(read_a_source_file): Always clear line_label at the start of a
	line, not just when flag_mri or LABELS_WITHOUT_COLONS.  Fixup
	MRI/LABELS_WITHOUT_COLONS handling.  In MRI mode, permit label:
	equ val.  Set line_label when calling colon.  In MRI mode, a
	leading '.' does not imply a pseudo-op.  Check for macro expansion
	before calling md_assemble.
	(s_irp): New function.
	(get_line_sb): New static function.
	(s_macro): New function.
	(s_mexit): New function.
	(s_rept): New function.
	* read.h (line_label): Rename from mri_line_label.
	(s_irp, s_rept): Declare.
	(s_macro, s_mexit): Declare.
	* input-scrub.c: Include sb.h.
	(sb_index, from_sb): New static variables.
	(macro_nest): New static variable.
	(struct input_save): Add sb_index and from_sb fields.  Change
	next_saved_file field to be struct input_save *.
	(next_saved_file): Changed to be struct input_save *.
	(input_scrub_push): Change to return type struct input_save *.
	Save sb_index and from_sb.
	(input_scrub_pop): Change parameter type to struct input_save *.
	Restore sb_index and from_sb.
	(input_scrub_include_sb): New function.
	(input_scrub_next_buffer): Handle reading from from_sb.
	(bump_line_counters): Only increment lines if not using from_sb.
	* config/tc-m68k.c (opt_table): Add nest.
	(opt_nest): New static function.
	* gasp.c: Include sb.h and macro.h.  Move all sb related functions
	and definitions to sb.h and sb.c.  Move all macro related
	functions and definitions to macro.h and macro.c.
	* sb.h, sb.c: New files, extracted from gasp.c.
	* macro.h, macro.c: Likewise.
	* Makefile.in (OBJS): Add sb.o and macro.o
	(GASPOBJS): Define.
	(gasp.new): Depend upon $(GASPOBJS).  Use $(GASPOBJS) to link.
	(TARG_CPU_DEP_m68k): Depend upon subsegs.h.
	(gasp.o): Depend upon sb.h and macro.h.
	(sb.o): New target.
	(macro.o): New target.
	(as.o): Depend upon sb.h and macro.h.
	(input-scrub.o): Depend upon sb.h.
	(read.o): Depend upon sb.h and macro.h.
1995-08-21 18:35:11 +00:00

215 lines
4.1 KiB
Plaintext

# .Sanitize for devo/gas.
# Each directory to survive its way into a release will need a file
# like this one called "./.Sanitize". All keyword lines must exist,
# and must exist in the order specified by this file. Each directory
# in the tree will be processed, top down, in the following order.
# Hash started lines like this one are comments and will be deleted
# before anything else is done. Blank lines will also be squashed
# out.
# The lines between the "Do-first:" line and the "Things-to-keep:"
# line are executed as a /bin/sh shell script before anything else is
# done in this directory.
Do-first:
# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize
# called. Directories not listed will be removed in their entirety
# with rm -rf.
Things-to-keep:
CONTRIBUTORS
COPYING
ChangeLog
Makefile.in
NEWS
NOTES
NOTES.config
README
README-quirks
README-vms
README.coff
README.rich
acconfig.h
aclocal.m4
app.c
as.c
as.h
atof-generic.c
bignum-copy.c
bignum.h
bit_fix.h
cond.c
conf.in
config
config-gas.com
configure
configure.bat
configure.in
debug.c
doc
ecoff.c
ecoff.h
emul-target.h
emul.h
expr.c
expr.h
flonum-copy.c
flonum-konst.c
flonum-mult.c
flonum.h
frags.c
frags.h
gasp.c
gdbinit.in
hash.c
hash.h
input-file.c
input-file.h
input-scrub.c
link.cmd
listing.c
listing.h
literal.c
macro.c
macro.h
messages.c
mpw-config.in
mpw-make.in
obj.h
output-file.c
output-file.h
read.c
read.h
sb.c
sb.h
stabs.c
struc-symbol.h
subsegs.c
subsegs.h
symbols.c
symbols.h
tc.h
testsuite
vmsconf.sh
write.c
write.h
xmalloc.c
Things-to-lose:
Do-last:
i960xl_files=ChangeLog
if ( echo $* | grep keep\-i960xl > /dev/null ) ; then
if [ -n "${verbose}" ] ; then
echo Keeping i960xl stuff in $i960xl_files.
fi
else
if [ -n "${verbose}" ]; then
echo -n Cleaning i960xl in `pwd`:
fi
for f in $i960xl_files ; do
if [ -n "${verbose}" ] ; then
echo -n " " $f
fi
sed '/start\-sanitize\-i960xl/,/end\-sanitize\-i960xl/d' < $f > new
if [ -n "${safe}" ] ; then
mv $f .Recover
fi
mv new $f
done
fi
sh3e_files="ChangeLog"
if ( echo $* | grep keep\-sh3e > /dev/null ) ; then
if [ -n "${verbose}" ] ; then
echo Keeping sh3e stuff in $sh3e_files.
fi
else
if [ -n "${verbose}" ]; then
echo -n Cleaning sh3e in `pwd`:
fi
for f in $sh3e_files ; do
if [ -n "${verbose}" ] ; then
echo -n " " $f
fi
sed -e '/start\-sanitize\-sh3e/,/end\-sanitize\-sh3e/d' -e '/ xl /d' < $f > new
if [ -n "${safe}" ] ; then
mv $f .Recover
fi
mv new $f
done
fi
rce_files="configure.in as.c configure ChangeLog Makefile.in"
if ( echo $* | grep keep\-rce > /dev/null ) ; then
for i in $rce_files ; do
if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
echo Keeping rce stuff in $i
fi
fi
done
else
for i in $rce_files ; do
if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
echo Removing traces of \"rce\" from $i...
fi
cp $i new
sed '/start\-sanitize\-rce/,/end-\sanitize\-rce/d' < $i > new
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
if [ -n "${verbose}" ] ; then
echo Caching $i in .Recover...
fi
mv $i .Recover
fi
mv new $i
fi
done
fi
arc_files="ChangeLog configure.in configure Makefile.in"
if ( echo $* | grep keep\-arc > /dev/null ) ; then
for i in $arc_files ; do
if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
echo Keeping arc stuff in $i
fi
fi
done
else
for i in $arc_files ; do
if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
echo Removing traces of \"arc\" from $i...
fi
cp $i new
sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
if [ -n "${verbose}" ] ; then
echo Caching $i in .Recover...
fi
mv $i .Recover
fi
mv new $i
fi
done
fi
for i in * ; do
if test ! -d $i && (grep sanitize $i > /dev/null) ; then
echo '***' Some mentions of Sanitize are still left in $i! 1>&2
fi
done
#
# End of file.