possibly the eBAT actually works now?
Minor

src/include/barrett_field.h:

- Requires review: corrected failure to cast to (mask_t) prior to negation. (Or, if this is wrong; should cast to needed bitwidth explicitly.)
- Changed type of nwords_out to uint32_t to agree with header.

src/include/intrinsics.h:

- Fixed up various preprocessor statements to check for definition rather than value of built-ins.
- Added macro to use Clang’s __builtin_readcyclecounter on platforms on which it’s available. (Which is most platforms these days.)

src/include/magic.h: Preprocessor “if” versus “if defined”.

src/include/word.h: Fixed ifdefs; enabled support for memset_s on Darwin. Added explicit cast to mask_t.

Added void to function definitions and declarations in the following files (not including void is okay in modern C++, but not modern C, IIRC):

include/goldilocks.h, src/crandom.c, src/goldilocks.c, src/include/api.h, src/include/intrinsics.h, test/bench.c, test/test.c, test/test.h, test/test_arithmetic.c, test/test_goldilocks.c, test/test_pointops.c, test/test_scalarmul.c, test/test_sha512.c
some minor changes to get the arch_32 stuff compiling, and a few tweaks for my use
A few adjustments on contributed patches.

Undo the INTRINSIC changes from David Leon Gil.

Turn precomputed keys back on by default.  Change #ifdef to #if for checking sigs.
adjust HISTORY