NEWS FROM 2.1.3 TO 2.1.4
o Fix bugs treating old objects that have already been considered by
the incremental GC (and survived it). Example:
ObjectMemory globalGarbageCollect.
HomedAssociation class instanceCount
gave 0 instead of 1. As a result, --enable-checking now can be
used.
o Fix bugs when doing #become: between old objects, exactly one of
which has not been considered by the incremental GC and was
incorrectly swept when the collector finally reached it.
o Fix bugs when garbage collection triggered finalization while a
primitive was being run. Finalization is now done in a separate
Process.
o Fix bugs treating very large objects.
o Fix infinite loop when the big object threshold was set between
the size of survivor spaces and the size of the eden.
o Printing Integers was unbelievably inefficient. Fixed together
with some more low-hanging fruit.
o SequenceableCollection>>#replaceFrom:to:with:startingAt: allows
again that stop=start-1 (like replaceFrom: 1 to: 0 with: ...)
Tested with -current on i386 only so far; 3 of the selftests still
failing, for reasons NetBSD cannot be blamed for.
CVS----------------------------------------------------------------------
From the release notes:
This release is unfortunately a bit late and incorporates a whole
bunch of very different changes. The biggest part is an update of the
libraries to incorporate the string types from module `Object' into
ADT:*, IO:*, OS:*, URI:*, and (partially) XML:* modules. The internal
encoding of Unicode strings has been switched to UTF-16. Support for
the MacOS X and Win32 platforms has been improved.
There were several changes to the symbol file format. Please remove
any old symbol files that are still around.
__________________________________________________________________________
(Object, ADT:StringBuffer): Internal representation of Unicode strings
is now UTF-16. `String32' is gone and has been replaced with
`String16'. MAX(UCS4CHAR) is 10FFFFX, the largest possible Unicode
code point.
(Object:BigInt): Renamed string base constructors to follow the naming
conventions from module `Object'.
(ADT:ArrayList, ADT:Dictionary): Have been converted to parametric
types. One known side-effect of this is that a type guard
`Dictionary.Dictionary' can no longer be applied to instances of
`Object.Object'. The reason for this is that the run-time type
information does not include information on type parameters and
therefore cannot test for particular type arguments. (The necessary
run-time information may be added later.)
(ADT:Storable, ADT:Object:Storage): The parameter type of the methods
ReadObject() and WriteObject() has been changed back to
`Object.Object'. The methods now handle instances of `Object.String'
as well.
(IO:Address): `UnknownHostException' is now derived from `IO.Error'.
(IO:Buffer): Introduce method `ReadLineLF()', to read a single line of
8-bit characters from a channel, including the termination Ascii.lf
character.
(IO:FileChannel): File name arguments are now of type STRING. They
are converted to sequences of bytes using OS:Path.Encode(). Dito for
system() from OS:ProcessManagement.
(IO:Socket, IO:SocketChannel): Non-blocking connect is implemented.
(OS:Path): Changed functions to work on STRINGs. Changed function
names to follow the Oberon naming conventions. Dito for GetCwd() from
OS:ProcessParameters.
(Exception): Fixed a bug in PopContext(), which lead to stack
corruption if more than one TRY context is popped from the stack.
Also some minor cleanups.
(HashCode): Collects all hash functions for the various basic data
types.
(URI, URI:*): The URI modules use the string types from `Object',
instead of defining their own variant of this theme. Error signalling
has been converted to Exception.ParseError. Please note that the
interface of these modules may be in for further changes later. The
URI changes also propgate into the XML modules.
(oo2c): New command --package-installed (tests if a package is
present) and --list-packages (list all installed packages).
(oo2c): The "Pascal" calling convention, and the CSTRING and ALIGNX
flags have been ported to v2 by Stewart Greenhill. This is primarily
used for native Windows DLLs.
(oo2c): There is now support for MaxOS X style "framework" libraries
(contributed by Tim Teulings).
(oo2c): The documentation strings of a module have been removed from
the symbol file `M.Sym', and are now stored in a separate file `M.Doc'
(in the same directory as `M.Sym'). Compilation commands only read
the `M.Sym' part. Also, compilation of huge interface modules is now
much faster.
(oo2c): Constant folding on floating point expressions is now enabled.
(oo2c): Various minor bugs with parametric types have been fixed.
around.
User visible changes:
- Install in ${GCC_PREFIX} for all platforms.
- Install example mk.conf in ${PREFIX}/share/examples/${PKGNAME_NOREV}/mk.conf.
Rewrite the Makefile to adopt a look and feel similar to those of
lang/gcc{,3}: convert to USE_NEW_TEXINFO, USE_PKG_INSTALL for FILE_SUBST,
mostly dynamic PLIST, platform independent MESSAGE, ...
Bump PKGREVISION.
PKGNAME if we are installing to an alternative location so that the
pkg system doesn't complain about conflicts.
Now it is possible to install a gcc3 tree to some location where
it can be used to bootstrap another instance of itself...
work on mips and powerpc at least.
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9091.
The fix therein (which was applied to the 3.3 branch does not really fix
the underlying problem, and is for powerpc only.
While I'm not an ada expert and this pkg wasn't used for more than
bootstrapping itself, I'd consider gnatpsta dispensable.
has allowed these packages to work :)
set CC, CXX, CPP and F77 in gcc{,3}/buildlink2.mk.
you now only need to define USE_GCC2 or USE_GCC3 to use the pkgsrc
gcc of your choice.
the share/examples/gcc/mk.conf and gcc3/mk.conf files are no longer
installed.
bump PKGREVISIONs.