mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-08 18:34:00 +00:00
wrapper.mod: Only return the first solution to main/2, rather than all solutions. table.c: Remove unnecessary assert(), since it caused a warning, and since the condition it checks for is already checked for in newmem(). CFLAGSFILE, PORTABILITY: Minor changes.
17 lines
718 B
Plaintext
17 lines
718 B
Plaintext
The code assumes that integers, pointers to functions and
|
|
pointers to data are all the same size, a Word.
|
|
|
|
Pointers are given two-bit tags - the code also assumes that the bottom
|
|
two bits of pointers to words are zero, and fiddles with the bottom
|
|
bits by casting pointers to integers and back again.
|
|
(This can be turned off using mc's `--tags none' option.)
|
|
|
|
Various parts of the code are conditionalized to take advantage of
|
|
GNU C's special features if they are available, and to use specific
|
|
registers for global register variables on certain machines.
|
|
|
|
Otherwise this should be portable ANSI C :-)
|
|
It isn't portable to older non-ansi C compilers, but if you don't
|
|
have an ANSI C compiler, then you should get gcc.
|
|
|