[m-dev.] EDCG implementation bug
Peter Nicholas MALKIN
pnmalk at students.cs.mu.oz.au
Thu Mar 15 19:18:24 AEDT 2001
Hi,
I have finished the implementation of EDCGs, except for two errors given by
bootcheck. I would like help in fixing these problems. I will be posting my diff
of the implementation of EDCGs to mercury-reviews soon anyway because I expect
any changes to be minimal. So refer to that diff to see what changes I
have made.
The error were received when running bootcheck. I ran bootcheck at Thu Mar 15
01:42:34 EST 2001 with an up to date version of the repository with the
edcg changes incorporated. The compiler I used was
/home/hydra/public/mercury-latest/bin/mmc.
The errors are:
(i)
scripts/mgnuc --grade asm_fast.gc --no-ansi -g \
-DMERCURY_BOOTSTRAP_H \
-E mercury_accurate_gc_check.c \
-nostdinc -dN \
2> /dev/null | awk '/^#define/ { print $2; }' | \
grep -v -e '^MR_' -e '^GC_' -e '^MERCURY_' | fgrep -v -x -f RESERVED_MAC
RO_NAMES | sort -u > mercury_accurate_gc_check.macros
** Macro name(s) in user namespace:
HAVE_SYS_SIGNAL
(You may need to add a distinguishing prefix to these names.)
gmake: *** [mercury_accurate_gc_check.macros] Error 1
AND SIMILARLY:
MERCURY_ALL_C_INCL_DIRS=" -I../browser -I../library -I../runtime -I../boehm_gc -
I../boehm_gc/include " ../scripts/mgnuc --grade asm_fast.gc --no-ansi -g
\
-DMERCURY_BOOTSTRAP_H \
-E mercury_trace_check.c \
-nostdinc -dN \
2> /dev/null | awk '/^#define/ { print $2; }' | \
grep -v -e '^MR_' -e '^GC_' -e '^MERCURY_' | fgrep -v -x -f ../runtime/R
ESERVED_MACRO_NAMES | sort -u > mercury_trace_check.macros
** Macro name(s) in user namespace:
HAVE_SYS_SIGNAL
(You may need to add a distinguishing prefix to these names.)
gmake: *** [mercury_trace_check.macros] Error 1
(ii) In tests/valid. I think that this error is related to the fact that I have
added an operator `$' to ops.m. The priority of the operator is 75. It needs to
be this high because it has to be higher than `^' for records which is 100:
mmc --make-interface --intermodule-optimization intermod_quote2.m
intermod_quote2.m:013: Syntax error at token '=': operator precedence error.
intermod_quote2.m:016: Syntax error at token 'is': operator precedence error.
intermod_quote2.m:026: Syntax error at token '$': unexpected token at start of (
sub)term.
intermod_quote2.m:029: Syntax error at token '=': operator precedence error.
`intermod_quote2.int' not written.
For more information, try recompiling with `-E'.
Thanks
Peter
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list