I have uploaded a new alpha version of GPC to http://www.gnu-pascal.de/alpha/.
This is an ALPHA version. Not so many extensive tests have been made and the test suite is not expected to pass without errors. I'm not uploading binaries, diffs, separate test suite archives, updated web pages etc., just the source distribution. (Of course, others may feel free to upload binaries for various platforms.) I'm not aware of any serious bugs, but you have to decide for yourself whether to use it for production work.
New features:
* new options `--[no]-nonlocal-exit' (default in `--ucsd-pascal' and `--mac-pascal') (fjf988[fijk].pas, fjf1062*.pas) (U) (M)
* new options `--[no]-object-checking' (on by default) to check on virtual method calls if VMT pointer is not nil and has matching `Size' and `NegatedSize' entries, new options `--[no]-range-and-object-checking' which are now equivalent to `$R[+-]' (fjf1053*.pas) (B)
* new options `--[no]-pointer-checking', `--[no]-pointer-checking-user-defined'; new variable `ValidatePointerPtr' (fjf1052*.pas, pcerrorc.pas) (these options are _off_ by default!)
* new options `--[no]-implicit-result' (fjf1022*.pas) (on by default *only* in `--delphi' mode!) (D) (@)
* new options `--{en,dis}able-predefined-identifier' (fjf1037*.pas)
- Bug fixes:
* check initializers of unused types (fjf898*.pas)
* check identifier scopes stricter (az25.pas, fjf1059*.pas)
* in `--borland-pascal' give only a warning, not an error, for duplicate `case' elements (drf6*.pas)
* multi-dimensional `packed' arrays are not correctly packed (fjf149*.pas)
* check arithmetical overflow in constants somewhat better (fjf206*.pas)
* check duplicate external declarations stricter (fjf948.pas)
* check that actual discriminants match in parameters and assignments, and in strict EP mode, check that actual discriminants of parameters within one identifier list match (berend4.pas, fjf104[45]*.pas, typeof[2-4].pas)
* check pointer to schema types stricter (fjf130.pas, fjf614.pas, schema3a.pas affected)
* allow importing the same value as a result of distinct expressions under the same name for EP modules for ordinal, pointer, string and set constants (fjf1040*.pas, stef1.pas)
* allow attributes for procedural types (chief56.pas)
* problem with string operations and `goto' (contour0.pas, contourbug.pas, martin1.pas, berend3.pas)
* check `goto' targets more strictly 261020020000077022%gpaeper@empirenet.com, Pine.LNX.4.44.0210281004000.31943-100000@duch.mimuw.edu.pl (az48.pas, fjf701*.pas, fjf1038*.pas, gale6.pas)
* `Result' is not completely Delphi compatible (fjf1022*.pas)
* problem if a `Write' or `WriteLn' argument calls a routine which writes to the same file (fjf1036.pas)
* `Update' as well as writing after reading or checking `EOF' can get the file position wrong in some cases (arp2*.pas, fjf159.pas, fjf160*.pas)
Frank
-- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/, 7977168E GPC To-Do list, latest features, fixed bugs: http://www.gnu-pascal.de/todo.html GPC download signing key: ACB3 79B2 7EB2 B7A7 EFDE D101 CD02 4C9D 0FE0 E5E8