New GPC beta: gpc-970714

Tue, 15 Jul 1997 23:59:59 +0200 (MET DST)


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]


Peter Gerwinski (peter@agnes.dida.physik.uni-essen.de)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es