Hello folks,
it's time again for a new GPC alpha version.
Changes since gpc-970227:
* Field widths now default to left-justified output.
* Some bugs fixed concerning field widths.
* Strings being too long for the field are now output completely if `--borland-pascal' has been specified.
* `For' now accepts components of structured variables as control variables, e.g. "for myarray [ i ]:= 1 to 100 do ...".
* `--pedantic-errors' no more implies `--pedantic'. Like this, you can specify `--pedantic-errors --extended-pascal' and you will get error messages when using Borland extensions, but no warnings for ISO 7185 Standard Pascal violations (i.e. the ISO 10206 extensions).
* Fixed bug concerning empty sets.
* Fixed bug concerning Strings without specified capacity as value parameters.
* Initialized sets now work in procedures. (They still don't work in the main program or in the top level of a Unit.)-:
* Fixed bug concerning arrays as `Const' parameters.
* `Char' subranges like 'A'..'Z' work again. (Was broken in gpc-970115.)
* `Const' parameters of known, small size are passed by value now. In this cases, `Const' is equivalent to `protected'; otherwise `Const' is equivalent to `protected Var'.
* Now you can pass constant values to `Const' or `protected Var' parameters.
* In Extended Pascal Modules, the following features have been implemented:
- Export and import renaming, - `protected' export, - `only' import.
* Fixed some bugs in the GPI mechanism, in particular concerning pointers and `Var' parameters.
* `Asm' works again. (It was broken in gpc-970115 - and it still has problems with input and output registers.)-:
* Fixed a bug concerning conformant arrays. If you have programs which use conformant arrays GPC didn't compile up to now, please retry and report remaining bugs.
* `New' applied to "^String" variables (i.e. pointers to String Schemas without specified capacity) works now: you call `New' with a second parameter being the desired capacity of the newly allocated String.
The source - a diff against gpc-970226 - is being uploaded to
ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/alpha/
Binaries for DOS (DJGPP), Linux (ELF), and FreeBSD will follow this evening after 21 o' clock MET (when it will be less expensive).
I thank Berend de Boer for many useful bug reports and the donation of a licensed copy of the Prospero Extended Pascal compiler. I also thank Stephen Lindholm, Tomas Srb, Miklos Cserzo, and Frank Heckenbach for reporting the bugs mentioned above. (* If I forgot your name, it's a bug - please report. ;*) And I thank everybody on the GPC mailing list for fruitful discussions about the future of GPC.
I hope you had a happy Eastern.
Yours,
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 - http://home.pages.de/~gnu-pascal/ [970125]
Peter,
Thanks MUCH for all your work on gpc. You have greatly improved the compiler!!
I do have a couple of questions about the most recent alpha.
- Field widths now default to left-justified output.
Did I miss a discussion on this? Doesn't this break a lot of programs? Or is this with "--borland-pascal"?
- `For' now accepts components of structured variables as control variables, e.g. "for myarray [ i ]:= 1 to 100 do ...".
Why?