The modifications to rc2.lisp to rearrange two lines of code and the change to groestl.lisp to use the +groestl-table+ directly are workarounds for (seeming) compiler bugs in Clozure CL for ARM32. They should be benign on all other platforms (I think)
The modifications to the copy-digest methods in all the digest classes I believe are more globally appropriate; the use of type declare statements do not guarantee the emission of a runtime type check in code even though they typically do. There was one class (tree-hash) where Clozure CL for ARM32 seemingly missed the type check and caused a crash in the copy-digest.error test. An explicit (check-type ...) seems more definite.
The modifications to rc2.lisp to rearrange two lines of code and the change to groestl.lisp to use the +groestl-table+ directly are workarounds for (seeming) compiler bugs in Clozure CL for ARM32. They should be benign on all other platforms (I think)
The modifications to the copy-digest methods in all the digest classes I believe are more globally appropriate; the use of type declare statements do not guarantee the emission of a runtime type check in code even though they typically do. There was one class (tree-hash) where Clozure CL for ARM32 seemingly missed the type check and caused a crash in the copy-digest.error test. An explicit (check-type ...) seems more definite.