Hello everybody! A new beta version of GNU Pascal is being uploaded to agnes: gpc-970714. This is merely a bug fixing release, but ... Faster GPI ========== Using a hashing algorithm instead of a linear search, the loading and retrieving of GPI files works much faster now, especially for Units (or Modules) with large Interface parts. The GNU Pascal development team welcomes a new member, Alexey Volokhov, who implemented this. Thanks, Alexey! Bug fixes and new compatibility features ======================================== Standard Pascal: * Subranges of enumerated types are now compatible with their host type. * GPC now performs compile-time range-checking when a constant value is assigned to something of a subrange type. UCSD (and Borland) Pascal: * For Units, `.gpm' files are no longer produced, only `.gpi' files are. (For Extended Pascal Modules, `.gpm' *and* `.gpi' files are produced.) * The `Concat' function is implemented now. Borland Pascal: * The `near' and `far' directives are now "implemented" (i.e. accepted and ignored) in GPC. Outside `--borland-pascal' mode, a warning is given. Extended Pascal: * When assigning a constant value to a String, GPC now checks whether it fits in the String's capacity. * Pointers to already discriminated schemata work now. * Schemata containing forward-referencing pointers work now. GNU extensions: * `Integer ( 8 )' types are more stable now, survive transport through a GPI file, and can be `writeln'ed up to a width of that of an `Integer', usually 32. * A new function `BitSizeOf' now returns the number of bits in some variable, including fields of a packed record. Miscellaneous: * Directives are now passed correctly from `specs' to the `gpc-cpp' preprocessor. * Casts between different Real types are now treated as conversions again. (This was broken in gpc-970624.) * Strings of unknown size in functions which are exported by a Unit work now. (This was the "prior parameter's size depends on `Foo'" bug.) * Indirect function calls are more stable now. A strange bug which showed up only occasionally and made GPC sometimes call a function when a function pointer was dereferenced and sometimes not, should have vanished now. (Please check!) Where to get it =============== The source is being uploaded to ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/beta/, files gpc-970714.tar.gz and gpc-970714.zip, together with binaries for DOS (DJGPP), DOS and OS/2 (EMX), Linux (ELF), and FreeBSD. In order to prepare for the release of gpc-2.1, binaries are moved to a subdirectory `binary' of `beta', and some other things are being set up, so don't be confused if some files aren't located any more where they were on the day before. Acknowledgement =============== I thank Stephen Lindholm, Frank Heckenbach, Abimbola A. Olowofoyeku, Sven Hilscher, Bernhard Tschirren, and Bill Currie for finding the bugs. Please go on finding all bugs in gpc-970714! I may have overlooked some you already reported. (If so, please remind me by e-mail.;-) Once GPC is clean, we can release version 2.1 - and face neat new features (e.g. qualified import and identifiers, classes, interfaces, procedure overloading, ...) for 2.2! :) Greetings, Peter Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201] maintainer GNU Pascal [970714] - http://home.pages.de/~gnu-pascal/ [970125]
participants (1)
-
Peter Gerwinski