mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-22 00:35:15 +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. |
||
---|---|---|
.. | ||
abcl | ||
adacontrol | ||
afnix | ||
algol68g | ||
alisp | ||
angelscript | ||
arena | ||
asis | ||
asn1c | ||
atlast | ||
ats | ||
awka | ||
bas2tap | ||
basic256 | ||
bf2c | ||
bigloo | ||
bsh | ||
bwbasic | ||
caml-light | ||
ccl | ||
cdent | ||
cduce | ||
ceylon | ||
cfortran | ||
chicken | ||
cint | ||
clang32 | ||
clang33 | ||
clang34 | ||
clang-cheri | ||
clang-devel | ||
clay | ||
clisp | ||
clojure | ||
clojure-mode.el | ||
cmucl | ||
cmucl-extra | ||
cocor | ||
cparser | ||
csharp-mode.el | ||
cython | ||
diveintopython | ||
dlv | ||
dmd1 | ||
dmd2 | ||
dragonegg46-33 | ||
dragonegg47-33 | ||
ecl | ||
elan | ||
elk | ||
emacs-lisp-intro | ||
embryo | ||
erlang | ||
erlang-runtime15 | ||
erlang-runtime16 | ||
erlang-runtime17 | ||
execline | ||
expect | ||
ezm3 | ||
f2c | ||
fasm | ||
ferite | ||
ficl | ||
fpc | ||
fpc-base | ||
fpc-docs | ||
fpc-lua | ||
fpc-rexx | ||
fpc-tcl | ||
fpc-units | ||
fpc-utils | ||
fsharp | ||
gambit-c | ||
gauche | ||
gawk | ||
gcc | ||
gcc46 | ||
gcc47 | ||
gcc47-aux | ||
gcc48 | ||
gcc49 | ||
gcc410 | ||
gcc-aux | ||
gcc-ecj45 | ||
gcl | ||
gforth | ||
ghc | ||
gjs | ||
gnat_util | ||
gnatdroid-armv5 | ||
gnatdroid-armv7 | ||
gnatdroid-binutils | ||
gnatdroid-sysroot | ||
gnu-cobol | ||
gnustep-base | ||
gnustep-guile | ||
go | ||
Gofer | ||
gprolog | ||
groovy | ||
gscheme | ||
guile | ||
guile2 | ||
harbour | ||
haskell-mode.el | ||
hiphop-php | ||
hla | ||
hope | ||
hs-brainfuck | ||
hs-epic | ||
hs-unlambda | ||
huc | ||
hugs | ||
icc | ||
ici | ||
icon | ||
ifc | ||
intel2gas | ||
intercal | ||
io | ||
ironpython | ||
itcl | ||
jakarta-commons-jelly | ||
jimtcl | ||
jruby | ||
js_of_ocaml | ||
jython | ||
kawa | ||
kroc | ||
kturtle | ||
lafontaine | ||
libhx | ||
libjit | ||
libobjc2 | ||
librep | ||
libstdc++_stldoc_4.2.2 | ||
linux-f10-libg2c | ||
linux-f10-tcl85 | ||
linux-j | ||
lua51 | ||
lua52 | ||
lua-mode.el | ||
luajit | ||
lush | ||
malbolge | ||
maude | ||
mawk | ||
mdk | ||
metaocaml | ||
micropython | ||
mit-scheme | ||
mixal | ||
mlton | ||
mmix | ||
modula3 | ||
mono | ||
mono-basic | ||
moscow_ml | ||
mosh | ||
mpd | ||
mtasc | ||
munger | ||
nawk | ||
nbc | ||
nbfc | ||
neko | ||
nesasm | ||
newlisp | ||
newlisp-devel | ||
nhc98 | ||
nickle | ||
nimrod | ||
nml | ||
nqc | ||
nwcc | ||
nx | ||
ocaml | ||
ocaml-autoconf | ||
ocaml-camlidl | ||
ocaml-mode.el | ||
ocaml-nox11 | ||
ocs | ||
ofc | ||
ohugs | ||
onyx | ||
oo2c | ||
oorexx | ||
opendylan | ||
otcl | ||
p2c | ||
p5-Data-JavaScript | ||
p5-ePerl | ||
p5-Error | ||
p5-Expect | ||
p5-ExtUtils-F77 | ||
p5-Interpolation | ||
p5-JavaScript-SpiderMonkey | ||
p5-JavaScript-Squish | ||
p5-JavaScript-Value-Escape | ||
p5-JSAN | ||
p5-List-MoreUtils | ||
p5-Marpa | ||
p5-Marpa-PP | ||
p5-Marpa-XS | ||
p5-Modern-Perl | ||
p5-Parse-Perl | ||
p5-Perl6-Subs | ||
p5-Pugs-Compiler-Rule | ||
p5-Quantum-Superpositions | ||
p5-Scalar-List-Utils | ||
p5-signatures | ||
p5-Switch | ||
p5-Tcl | ||
p5-Test-XPath | ||
p5-Try-Tiny | ||
p5-TryCatch | ||
p5-v6 | ||
parrot | ||
pbasic | ||
pcc | ||
pecl-perl | ||
perl5.14 | ||
perl5.16 | ||
perl5.18 | ||
perl5.20 | ||
petite-chez | ||
pfe | ||
phantomjs | ||
pharo | ||
phc | ||
php5 | ||
php5-extensions | ||
php53 | ||
php53-extensions | ||
php55 | ||
php55-extensions | ||
php_doc | ||
php-mode.el | ||
picoc | ||
pike78 | ||
polyml | ||
ptoc | ||
pure | ||
py-clojure | ||
py-mx-base | ||
py-prolog | ||
pypy | ||
pypy3-devel | ||
pypy-devel | ||
python | ||
python2 | ||
python3 | ||
python27 | ||
python32 | ||
python33 | ||
python34 | ||
python-doc-html | ||
python-doc-pdf-a4 | ||
python-doc-pdf-letter | ||
python-doc-text | ||
python-mode.el | ||
qore | ||
qscheme | ||
qt5-qml | ||
racket | ||
racket-minimal | ||
rakudo | ||
ratfor | ||
rexx-imc | ||
rexx-regina | ||
rexx-regutil | ||
rexx-wrapper | ||
rhino | ||
rubinius | ||
ruby19 | ||
ruby20 | ||
ruby21 | ||
runawk | ||
rust | ||
s9fes | ||
sagittarius-scheme | ||
Sather | ||
sather-specification | ||
sather-tutorial | ||
sbcl | ||
scala | ||
scala-docs | ||
scheme48 | ||
scm | ||
scsh | ||
sdcc | ||
sdcc-devel | ||
see | ||
seed7 | ||
siod | ||
sisc | ||
sketchy | ||
slib | ||
slib-guile | ||
slisp | ||
smalltalk | ||
sml-mode.el | ||
sml-nj | ||
sml-nj-devel | ||
snobol4 | ||
spidermonkey17 | ||
spidermonkey24 | ||
spidermonkey170 | ||
spidermonkey185 | ||
spl | ||
squeak | ||
squirrel | ||
sr | ||
stalin | ||
starlogo | ||
stldoc | ||
swi-pl | ||
t3x | ||
tcc | ||
tcl84 | ||
tcl85 | ||
tcl86 | ||
tcl-manual | ||
tcl-wrapper | ||
tclX | ||
tinypy | ||
tolua | ||
tolua++ | ||
tuareg-mode.el | ||
twelf | ||
ucc | ||
urweb | ||
v8 | ||
v8-devel | ||
vala | ||
vala-vapigen | ||
visualworks | ||
whitespace | ||
x10 | ||
xds | ||
xds-c | ||
xotcl | ||
yabasic | ||
yap | ||
yap-devel | ||
yorick | ||
ypsilon | ||
Makefile |