mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-23 00:43:28 +00:00
364a875e6d
Changes: * The compiler has been improved to generate overflow checking code by default. The generation of overflow checking code can be switched off with the option -so. * The exception OVERFLOW_ERROR has been introduced. It is raised by the interpreter and by compiled programs when an integer overflow occurs. * A paragraph about integer overflow and the installation of Seed7 has been added to the FAQ. * The chapter about exceptions in the manual has been improved. * The program chkovf.sd7, which checks the recogition of integer overflows, has been added. * Checks for +, -, *, rem, mod, <<, +:=, -:=, *:=, succ, pred, incr and decr have been added to chkint.sd7. * Checks for the lpad operator have been added to chkstr.sd7. * The compiler option -r has been replace by the option -sr. * The program calc7.sd7 has been improved to report MEMORY_ERROR and OVERFLOW_ERROR. * The library make.s7i has been improved such that make7.sd7 accepts echo (and echo.) statements without parameters. * The function eof has been defined for the type tlsFile in tls.s7i. * The function gets in tls.s7i has been improved. * The function getHttp in gethttp.s7i has been improved to avoid an endless loop when eof has been reached. * The function memcpy_from_strelem has been added to striutl.c. This function uses loop unrolling inspired by Duff's device and a trick with a binary or (|=) to check for allowed values. * The functions filWrite, socWrite and bstParse have been changed to use memcpy_from_strelem. The reduction in runtime has been measured with gcc and valgrind. The runtime of filWrite, socWrite and bstParse has been reduced to 53%, 61% and 56% respectively. * Documentation comments have been added to integer.s7i, bin32.s7i, intlib.c and striutl.c. * The compiler has been improved to generate overflow checking code for *, <<, >>, *:=, <<:= and >>:= . * The generation of overflow checking code for the operators rem and mod has been improved. * Checks for overflow, division by zero, numeric error and index out of bounds in compiled programs now use the macros ovfChk, divChk, numChk and idxChk. This macros inform the C compiler about the unlikeliness of an exception. * The function fltIPow has been improved to avoid a signed integer overflow, when the exponent is the most negative integer. * The primitive actions INT_ULSHIFT and INT_ULSHIFT_ASSIGN have been added and supported in interpreter and compiler. * A version of the function uint_rand, which uses 128-bit integers, has been added to int_rtl.c. * The function raise_error3 in runerr.c has been renamed to interprRaiseError. * The configuration values INT128TYPE, UINT128TYPE and MACRO_DEFS have been added to cc_conf.s7i. The configuration value SIGILL_ON_OVERFLOW has been replaced with OVERFLOW_SIGNAL. * The functions constValueIsEqual, checkRangeFromZero, process_const_int_lshift, process_const_int_lshift_assign, process_const_int_rshift_assign, process_const_int_mult, process_const_int_mult_assign, process_const_int_ulshift_assign, process_const_int_ulshift and process_const_int_urshift_assign have been added to int_act.s7i. * The function intExpr in chkbig.sd7, chkexc.sd7, chkint.sd7 and chkstr.sd7 has been changed to make sure that the C compiler cannot evaluate it at compile time. * The runtime of the functions str_lpad, strLpad and strLpadTemp has been improved. |
||
---|---|---|
.. | ||
distinfo | ||
Makefile | ||
pkg-descr | ||
pkg-plist |