v1.5.0
New Functionality
-
GH-1179: Cap parallelism use for JIT background jobs.
During JIT, we would previously launch all compilation jobs in parallel. For
projects using many modules this could have lead to resource contention which
often forced users to use sequential compilation with
HILTI_JIT_SEQUENTIAL. We now by default cap the number of parallel
background jobs at the number of logical cores. This can be parameterized
with the environment variableHILTI_JIT_PARALLELISMwhich for
HILTI_JIT_PARALLELISM=1reproducesHILTI_JIT_SEQUENTIAL. -
GH-1134: Add support for
synchronize-atandsynchronize-afterproperties.These unit properties allow specifying a literal which should be searched for
during error recovery. If the respective unit is used as a synchronize point
during error recovery, i.e., it is used as a field which is marked
&synchronize, input resynchronization during error recovery will seek to
the next position of this pattern in the input stream. -
GH-1209: Provide error message to
%errorhandler.We now allow to optionally provide a string parameter with
%errorthat will receive the associated error message:on %error(msg: string) { print msg; }
Changed Functionality
- GH-1184: Allow more cache hits if only a few modules are changed in multi-module compilation.
- GH-1208: Incremental performance tweaks for JIT.
- GH-1197: Make handling of sanitizer workarounds more granular.
Bug fixes
- GH-1150: Preserve additional permissions from umask when generating HLTO files.
- GH-1154: Add stringificaton of
Map::value_type. - GH-1080: Reject constant declarations at non-global scope.
- GH-1164: Make compiler plugin initialization explicit.
- GH-1050: Update location when entering most parser methods.
- GH-1187: Fix support for having multiple source modules of the same name.
- GH-1197: Prevent too early integer overflow in pow.
- GH-1201: Adjust removal of symlinks on install for
DESTDIR. - GH-1203: Allow changing
DESTDIRbetween configure and install time. - GH-1204: Remove potential use-after-move.
- GH-1210: Prevent unnecessarily executable stack with GNU toolchain.
- GH-1206: Fix detection of recursive dependencies.
- GH-1217: Produce
hilti::rt::Boolwhen casting to boolean. - GH-1224: Fix import segfault.