Donate Share

Optimizing Oberon-2 Compiler

File Release Notes and Changelog

Release Name: 2.1.1

Notes:
This release fixes a build issue with MinGW 3.1, introduces two
experimental variants of the FOR statement, and includes some
minor bug fixes and cleanups.


Changes: (oo2c) The "verbose" command line option `-v' has been revived. If set, then the compiler prints the names of files read and shell commands. This is the old behaviour of 2.x. If not set, then only errors and warnings are written to stdout. (oo2c) The "fastcall" calling convention, as implemented by Microsoft's C compiler as well as recent versions of GCC, has been added. (oo2c) Error checking has been improved for set types (#933554) and initializer methods (#917211, #917202). (library) A definition clash of "ssize_t" has been removed for MinGW 3.1. In addition to this, two experimental variants of the FOR statement have been added: 1) Iterating over Array If x is an array value, then FOR v IN x DO ... END; is equivalent to temp := 0; WHILE (temp # LEN(x)) DO v := x[temp]; ... INC(temp); END; 2) Iterator Object If x.Iter() produces a record pointer with a method Next() that has exactly one variable parameter and that returns a BOOLEAN value, then FOR v IN x.Iter() DO ... END; becomes temp := x.Iter(); WHILE temp.Next(v) DO ... END;