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.
Update Python documentation for the recent lang/python27 2.7.8 update.
Includes updates for: HTML, PDF (A4), PDF (Letter) and Text formats and slave
ports.
Reported by: pkg-fallout
2014-07-20 lang/stklos: Fails testsuite on all platforms, unmaintained upstream
2014-07-20 lang/ikarus: Upstream project died in 2009
2014-07-20 security/pam_pgina: main site disappeared, no more public distfiles
series that closes this branch.
Extend full-regression-test by running contrib/test_summary.
Also clean *.la files in LIBEXEC, and recursively so, there and for
TARGLIB.
The FreeBSD Python team welcomes Python 2.7.8 to the Ports tree!
Announcement: https://www.python.org/download/releases/2.7.8/
Changelog: http://hg.python.org/cpython/raw-file/v2.7.8/Misc/NEWS
- Update to 2.7.8, update pkg-plist
- OPTIONS: Reorder and sort alphabetically
- OPTIONS: Make POSIX SEM(aphores) a DEFAULT (Hi binary package users!)
- OPTIONS: Add better descriptions for UCS2 and UCS4
- OPTIONS: Use options helpers
- Remove patch-CVE-2014-1912: upstream, was backported
- Remove patch-issue20374: upstream, was backported
- Rename patch-Doc__library__fcntl.rst: underscore convention
- Rename patch-Modules__fcntlmodule.c: underscore convention
- Patch: setup.py: Remove ncurses overrides and return to upstream code
- Patch: setup.py: Add partial backport for ossaudio OS checks
- pkg-message: Remove warning for POSIX Semaphores. They are now in
GENERIC for FreeBSD 8.x 9.x, 10.x and tested well upstream
- pkg-message: No longer needs substitutions, remove .in suffix and
SUB_FILES
- Rework and simplify the platformX mechanism, update pkg-plist
accordingly
- Add regression-test target
- Deprecate NOPORTDATA, remove pkg-plist entries with %%PORTDATA%%
- Replace bsd.{pre,post}.mk with bsd.port.options.mk
Based on original patch submitted by wen@ and worked on by lwhsu@,
thank you!
PR: 191405
PR: 178301
PR: 171246
Phabric: D364
Reviewed by: antoine, bapt, mat, mva, wg
Changes:
* The interpreter has been improved to recognize integer overflow.
Now the exception NUMERIC_ERROR is raised, when a program triggers
an integer overflow. The checks for overflow are done in software,
but the overhead is small. With overflow checks the interpreter
needs 0.5% (zero point five percent) more run-time to execute the
program chkint.sd7 (verified with gcc and valgrind).
* A chapter about the Seed7 Structured Syntax Description (S7SSD)
has been added to the manual.
* The for-until-loops in bitset.s7i and bitsetof.s7i have been
improved such that the for-variable has the correct value, when it
is used in the until-condition.
* The function replaceN has been added to string.s7i. This function
does replacements until no occurance of the target string is left.
This function is used by toStdPath to replace multiple occurances
of a character by one occurance (replace("/a///b////c", "//", "/")
returns "/a/b/c").
* The program calc.sd7 has been renamed to calc7.sd7.
* The program calc7.sd7 has been changed to accept the commands
'quit' and 'exit'. This commands can be used to exit the program.
The possibility to leave the program with an empty input line has
been removed.
* The program calc7.sd7 has been improved to write the name of the
exception, when it has been raised.
* The compiler has been improved to allow the generation of overflow
checking code. Overflow checking code can be generated for the
operators +, -, **, +:= and -:= and the functions abs, succ, pred,
incr and decr. Until the rest of the functions is implemented and
enough tests have been added to chkint.sd7 the functionality is
switched off.
* The template FOR_UNTIL_DECLS has been added to forloop.s7i. This
template defines for-loops with a condition.
* The function abs has been moved from the library math.s7i to the
library float.s7i.
* Checks for addition, subtraction, multiplication, power and abs
have been added to chkint.sd7.
* In the compiler the statements to write the C prototypes have been
moved from s7c.sd7 to functions in the files comp/xxx_act.s7i
(xxx is the abbreviation for the corresponding primitive type).
* The functions getReference getParameterAsReference have been added
to comp/expr_util.s7i.
* The function isit_bool from objutl.c has been replaced by the macro
isit_bool (defined in objutl.h). This improves the speed of the
interpreter.
* The function set_card has been improved to call setCard, which
computes the cardinality of a set much quicker.
Support stage
Convert to USES=libtool
Remove the -devel version which is outdated an no more needed
PR: 187954
Submitted by: numisemis@yahoo.com (maintainer)