Related articles |
---|
Seed7 Release 2021-02-23 mertesthomas@gmail.com (Thomas Mertes) (2021-03-14) |
From: | Thomas Mertes <mertesthomas@gmail.com> |
Newsgroups: | comp.compilers |
Date: | Sun, 14 Mar 2021 21:08:49 -0400 (EDT) |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="45566"; mail-complaints-to="abuse@iecc.com" |
Keywords: | OOP, available |
Posted-Date: | 14 Mar 2021 21:08:49 EDT |
Hello,
I have released a new version of Seed7: seed7_05_20210223.tgz
The download is here: https://sourceforge.net/projects/seed7/files
Seed7 is also at GitHub: https://github.com/ThomasMertes/seed7
The Seed7 programming language has many interesting concepts, which
are explained at its Homepage: http://seed7.sourceforge.net
Notable changes in this release are:
- Now there is support to read and display PNG images.
- Now Seed7 can be compiled under Android with termux.
- PostgreSQL version 13 is supported now.
Changelog:
- Spelling corrections have been done in several files. Many thanks go
to Jens Schleusener, for sending a source code misspelling report
from Fossies.
- The new library png.s7i has been added. This library supports the
PNG image file format.
- Seed7 has been improved to compile under Android with termux. This
is described in src/read_me.txt.
- A chapter about Unicode characters has been added to the manual.
- The make7.sd7 example program has been improved. The processing of
makefiles in make.s7i has been improved to process every rule just
once. The handling of the option -n (don't execute commands) has
been improved to work in the same way as in other make tools.
- The test program chkbin.sd7 has been improved to to allow two
possible NaN values as result of 0.0 / 0.0.
- The test program chkflt.sd7 has been improved to allow that for some
test cases trunc() and round() either return the correct value
(integer.last) or raise RANGE_ERROR.
- Tests for array bitset have been added to chkarr.sd7.
- Tests for conversion and cardinality have been added to chkset.sd7.
- The functions XChangeProperty() and XMapWindow() have been added to
fwd_x11.c and x11_x.h.
- The makefile mk_clang.mak has been improved to allow the replacement
of system headers (x11_x.h and fwd_term.h). This way compilation
works also without the original headers.
- The warning box created by warn.c had too much width to be readable
in termux. So this width has been reduced.
- In drw_win.c the functions drwXPos() and drwYPos() have been fixed
to return coordinates relative to the parent window.
- The checks for the C compiler option -ftrapv in chkccomp.c have
been improved. Now it is recognized, if integer overflow raises the
signal SIGTRAP. Clang at the ARM processor uses SIGTRAP.
- Changes have been done in sigutl.c to handle SIGTRAP and to raise
OVERFLOW_ERROR in the signal handler (if chkccomp.c has recognized
that an integer overflow raises SIGTRAP).
- Changes have been done in chkccomp.c to support PostgreSQL version
13. Additionally the logic to search for PostgreSQL dlls has been
improved. Now it searches also for the libraries libcrypto and
libssl. Now POSTGRESQL_DLL can be specified, with an absolute path
of libpq.dll, in the makefile (which should echo it to chkccomp.h).
- In the compiler (s7c.sd7) the handling of actual parameters for
formal inout parameters has been improved. Now a struct element can
be used as actual parameter for a formal inout parameter.
- The compiler has been improved to reduce range checks for the
expressions char(number), chr(number) and card(bitset(number)).
- Interpreter and compiler have been improved to support the action
REF_ISTEMP. The function isTemp() has been added to progs.s7i.
- In comp/intrange.s7i the function getIntRange() has been improved
to determine result ranges for INT_ADD and integer constants.
- The compiler has been improved to assure that sigsetjmp() is not
called with a value other than 0 or 1 for the second parameter
(savesigs). According to the specification of sigsetjmp() all
integer values are allowed for the second parameter (savesigs)
and a non-zero value triggers a save of the current signal mask.
ARM / Android / termux decided that just 0 and 1 are valid values
and that any other value triggers a termination of the program
(with SIGABRT).
- The function drwCapture() in drw_win.c has been improved to work
correct, if the screen has been scaled.
- In drw_win.c the functions drwPut() and drwSetTransparentColor()
have been improved such that images with a transparent color work.
- The runtime of drwRgbColor() in drw_x11.c has been reduced by 31%
(measured with gcc and valgrind, when reading a PNG image). This
takes effect if a true color display is used.
- The runtime of drwRtlImage in drw_rtl.c has been reduced by 63%
(measured with gcc and valgrind, when reading a PNG image). The
function memcpy_pixel() uses loop unrolling inspired by Duff's
device.
- The program chkccomp.c has been improved to determing the macro
rgbToPixel() (if X11 graphics is used).
- In exec.c the function exec_expr() has been improved to clear
the TEMP flag for all results.
- The makefiles have been improved to write the name of the make
utility and the name of the makefile to version.h.
Regards,
Thomas Mertes
--
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.