summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/alephdir/com16bit.ch
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/alephdir/com16bit.ch')
-rw-r--r--Build/source/texk/web2c/alephdir/com16bit.ch35
1 files changed, 2 insertions, 33 deletions
diff --git a/Build/source/texk/web2c/alephdir/com16bit.ch b/Build/source/texk/web2c/alephdir/com16bit.ch
index 97d91e5e224..05f4e911004 100644
--- a/Build/source/texk/web2c/alephdir/com16bit.ch
+++ b/Build/source/texk/web2c/alephdir/com16bit.ch
@@ -180,7 +180,7 @@ if ini_version then
{Use |hash_offset=0| for compilers which cannot decrement pointers.}
@!trie_op_size=15011; {space for ``opcodes'' in the hyphenation patterns;
best if relatively prime to 313, 361, and 1009.}
-@!neg_trie_op_size=-15011; {for lower |trie_op_hash| array bound;
+@!neg_trie_op_size=-35111; {for lower |trie_op_hash| array bound;
must be equal to |-trie_op_size|.}
@!min_trie_op=0; {first possible trie op code for any language}
@!max_trie_op=ssup_trie_opcode; {largest possible trie opcode for any language}
@@ -860,16 +860,6 @@ occasionally uses |null| as~0, and therefore requires |min_halfword=0|.
@!zmem : ^memory_word; {the big dynamic storage area}
@z
-% [9.127] Fix casting problem in C.
-% There are several of these. They come from the rules C uses for
-% comparing signed and unsigned quantities. Just doing the comparison
-% can result in incorrect evaluation wrt the way Pascal would do it.
-@x [9.127] l.2739 - Fix casting problem in C.
-if r>p+1 then @<Allocate from the top of node |p| and |goto found|@>;
-@y 2738
-if r>intcast(p+1) then @<Allocate from the top of node |p| and |goto found|@>;
-@z
-
% [11.165] Fix the word `free' so that it doesn't conflict with the
% standard C library routine of the same name.
@x [11.165] l.3364 - avoid conflict with lib function free()
@@ -1722,18 +1712,6 @@ endifn ('IPC')
print_nl("Output written on "); print_file_name(0, output_file_name, 0);
@z
-@x [38.859] l.16855 - Fix a casting/expression evaluation problem.
-if abs(fit_class-fitness(r))>1 then d:=d+adj_demerits;
-@y
-if abs(intcast(fit_class)-intcast(fitness(r)))>1 then d:=d+adj_demerits;
-@z
-
-@x [39.875] l.17170 - Another casting problem.
- begin line_diff:=line_number(r)-best_line;
-@y
- begin line_diff:=intcast(line_number(r))-intcast(best_line);
-@z
-
@x [42.920] l.18068 - bigtrie: allow larger hyphenation tries.
@!trie_pointer=0..trie_size; {an index into |trie|}
@y
@@ -1949,8 +1927,7 @@ var h:neg_trie_op_size..trie_op_size; {trial hash location}
begin h:=abs(n+313*d+361*v+1009*cur_lang) mod (trie_op_size+trie_op_size)
- trie_op_size;
@y
-begin h:=abs(intcast(n)+313*intcast(d)+361*intcast(v)+1009*intcast(cur_lang))
- mod (trie_op_size - neg_trie_op_size)
+begin h:=abs(n+313*d+361*v+1009*cur_lang) mod (trie_op_size-neg_trie_op_size)
+ neg_trie_op_size;
@z
@@ -1982,14 +1959,6 @@ tini
tini
@z
-@x [43.948] l.18471 - Another casting problem.
-begin h:=abs(trie_c[p]+1009*trie_o[p]+@|
- 2718*trie_l[p]+3142*trie_r[p]) mod trie_size;
-@y
-begin h:=abs(intcast(trie_c[p])+1009*intcast(trie_o[p])+@|
- 2718*intcast(trie_l[p])+3142*intcast(trie_r[p])) mod trie_size;
-@z
-
@x [43.590] l.18524 - Dynamically allocate & larger tries.
@!init@!trie_taken:packed array[1..trie_size] of boolean;
{does a family start here?}