20180708:
- The operating system DOS is supported (with DJGPP) again. The tests
have been done with Dosbox.
- In the compiler (in comp/const.s7i) the actions BIN_AND and BIN_OR
have been added to the list of special actions. This way the
functions rotLeft and rotRight (from bin32.s7i and bin64.s7i) are
implemented as inline functions. This reduces the runtime of sha256
(from msgdigest.s7i) by 44% (measured with gcc and valgrind, when
reading data from 200 https connections). The cpu-time of the whole
test program was reduced by 17%.
- In msgdigest.s7i the functions md4, md5, sha1, sha224 and sha256
have been improved to use an index for words instead of an index
for chunks. This simplifies the conversion to 32-bit words.
- In comp/action.s7i the function process_action has been improved to
use a case-statement instead of multiple if-statements. This reduces
the runtime of process_action by 39% (measured with gcc and valgrind,
when the compiler compiles itself). The runtime of the compiler is
reduced by 2.5%.
- The contents of the libraries enable_input.s7i and enable_output.s7i
have been moved to the library enable_io.s7i.
- The library comp/expr_util.s7i has been renamed to comp/expr_utl.s7i.
- The program chkccomp.c has been improved to search 64-bit functions
for fseek() and ftell(). The findings are stored in version.h with
the macros _FILE_OFFSET_BITS, OS_OFF_T_SIZE, os_off_t, os_fseek and
os_ftell.
- In chkflt.sd7 the tests for float shift and logarithm of 0.0 have
been improved.
- The file src/read_me.txt has been updated.
- In chkccomp.c the functions isNullDevice, initializeNullDevice,
determineStatFunctions, determineOsFunctions and numericProperties
have been improved.
- The program chkccomp.c has been improved to work for PostgreSQL
versions 9.6, 10 and 11.
- In cmd_rtl.c the function getOsCwd has been improved to assure that
PATH_DELIMITER is used as path delimiter.
- In flt_rtl.c the functions fltDigits and fltSci have been improved,
to work correct, when printf() with format %f and %e and a huge
precision crashes. Additionally fltSci() has been improved to work
correct, when the number of exponent digits written with format %f is
not fixed.
- In con_wat.c the functions kbdShut and conWrite have been improved
and the functions term_descr_equal, tcset_term_descr, kbd_init,
doWriteConsole and doCPuts have been added.
- The functions handleIntSignal, readCharChkCtrlC and filPipe have been
added to fil_dos.c.
- The function drwConvPointList has been added to drw_dos.c.
- The definitions of volumeListType, IS_VOLUME_LIST and
openVolumeList() have been moved from dir_win.h to the new file
vol_drv.h
- In traceutl.c the function prot_cstri has been improved to optionally
https://gcc.gnu.org/gcc-8/changes.html has a comprehensive overview of
many changes in this release and https://gcc.gnu.org/gcc-8/porting_to.html
addresses issues you may encounter porting to this new version.
To provide a brief overview of some of the more noticable changes:
On the optimization front inter-procedural optimizations (IPO) and profile
driven optimizations (PDO) have been further improved and some classic loop
nest optimization passes have been added: -floop-unroll-and-jam performs
outer loop unrolling and fusing of the inner loop copies, while
-floop-interchange exchanges loops in a loop nest to improve data locality.
These, as well as an improved -ftree-loop-distribution pass are enabled by
default at -O3 and above.
A new pragma "GCC unroll" has been implemented in the C family of languages
as well as Fortran to provide finer-grained control over loop unrolling.
DWARF debugging information in the presence of link-time optimization now
properly preserves language-specific information. The -gcolumn-info
option is now enabled by default, so column information is part of DWARF
debugging information in addition to filenames and line numbers.
The C family compilers have gained options -Wmultistatement-macros
(warning about unsafe macros expanding to multiple statements used
as a body of a statement such as if, else, while, switch, or for),
-Wstringop-truncation (warning for calls to bounded string manipulation
functions such as strncat, strncpy, and stpncpy that might either truncate
the copied string or leave the destination unchanged), -Wcast-function-type
(warning when a function pointer is cast to an incompatible function pointer,
enabled by -Wextra), and -Wsizeof-pointer-div (warning for suspicious
divisions of the size of a pointer by the size of the elements it points
to, which usually is an indication of a mistaken way to calculate the
number of elements in an array, enabled by -Wall), among others.
The existing -Warray-bounds and -Wrestrict options have been enhanced to
detect many more instances, as have -Wformat-overflow and -Wformat-truncation.
Error messages and warnings better highlight the locations of issues in
many cases, and helpful "fix it" hints are provided more often.
The C++ ABI (-fabi-version=12) introduces minor changes in a few fringe
cases. The GCC 7 ABI can still be selected with -fabi-version=11.
The C++ frontend as well as libstdc++ feature experimental support for
many C++2a features and Fortran has seen a large number of improvements.
Lots and lots of improvements for Arm and AArch64 targets, as well as
the usual dose on x86 and powerpc.
PR: 229681
Not bumping PORTREVISION because it is implicitly included by pkg qa scripts.
PR: 229274
Submitted by: Iblis Lin <iblis@hs.ntnu.edu.tw> (maintainer)
Reported by: Trond.Endrestol@ximalas.info
MFH: 2018Q3
It was missing two files:
lib/elixir/lib/logger/ebin/Elixir.Logger.ErlangHandler.beam
lib/elixir/lib/logger/lib/logger/erlang_handler.ex
Submitted by: dch
Reported by: dch
version of Microsoft BASIC 6502 as found on the Commodore 64.
You can use cbmbasic in interactive mode by just running the binary
without parameters, or you can specify an ASCII-encoded BASIC program
on the command line. You can also use cbmbasic as a UNIX scripting
language by adding a hashbang line to your BASIC program and making
it executable.
WWW: https://github.com/mist64/cbmbasic
Submitted by: trasz@FreeBSD.org
While there, cleanup, and sort depends.
When build and run dependencies are the same, there are three ways to
avoid duplicating the list while not adding the framework added
BUILD_DEPENDS to the RUN_DEPENDS. In order of preference, they are:
1) use RUN_DEPENDS to set BUILD_DEPENDS:
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= foo:bar/baz
2) create another variable and use it:
MY_DEPENDS= foo:bar/baz
BUILD_DEPENDS= ${MY_DEPENDS}
RUN_DEPENDS= ${MY_DEPENDS}
3) use BUILD_DEPENDS to set RUN_DEPENDS and force evaluation:
BUILD_DEPENDS= foo:bar/baz
RUN_DEPENDS:= ${BUILD_DEPENDS}
Sponsored by: Absolight
Release notes:
https://github.com/elixir-lang/elixir/releases/tag/v1.6.6
In particular, this is the first version to officially support
Erlang/OTP 21.0.
Other changes not related to the new upstream version are:
* `USES=` is moved before `USE_GITHUB` to fix a warning reported by
portlint(1).
most cases, the failure mode is the same. Also, mark them broken on
mips when necessary.
While here, pet portlint.
Approved by: portmgr (tier-2 blanket)