examples/Mercury:
Add new grades asm_*.
wrapper.mod:
Add a new -h (help) option.
Change the behaviour of the -l option:
Exit after printing the labels
Don't use popen("sort -n"), since it's an unnecessary OS
dependency and the user can do it anyway.
[And because we weren't checking whether the call
succeeded, and I didn't want to add checking code...]
io.mod, init.h, wrapper.mod, label.c:
Remove support for automatically calling *_input.
Optimize things so that we only call init_modules() if we
are going to need the label names.
.gdbinit:
Don't source .gdbinit.arch, since it seems to have suffered
software rot.
aux.c, std.h, imp.h, access.c, iface.mod, prof.c:
Make sure that all memory allocation goes through
newmem(), resizemem() and oldmem().
Fix those functions so that they work with conservative
garbage collection.
Cakefile :
Included prof.c and prof.h in the compile
CFLAGSFILE:
Added the USE_PROFILING flag.
engine.mod:
Added calls so that all the profiling info is dumped to a file
prof.*:
Added some comments.
imp.h:
Modified the call and localcall macros so that they save the
callee-caller address pair if USE_PROFILING defined.
*.mod:
Added the extra argument to all calls and local calls for the
handwritten mod files.
Some of these are included in imp.h, some aren't; the criterion is whether
automatically generated modules need the information in them.
Created a system whereby Mercury programs can be automatically compiled.
One part is the Mercury cakefile in examples (and the Cakefile that uses it),
which defines two targets for each Mercury program. These are e.g. nrev_fast
and nrev_debug for nrev.nl. As usual with System, the file Conf has one
line for each program in the directory; the file Entry likewise contains
the default entry point. Mod2init now inserts the default entry point
into the xxx_init.c file, and test_harness picks it up from there.
The other part is the creation and installation of the files and tools
referred to by the Mercury cakefile. These include scripts in /usr/contrib/bin,
the system modules in /usr/contrib/lib/mercury/modules, the system header
files in /usr/contrib/lib/mercury/inc, and two libraries, lib{fast,debug}mer.a
in each of /usr/contrib/lib/mercury/{sun4,sgi}.