This is gpc.info, produced by makeinfo version 4.0 from gpc.texi.

INFO-DIR-SECTION GNU programming tools
START-INFO-DIR-ENTRY
* GPC: (gpc).                   The GNU Pascal Compiler.
END-INFO-DIR-ENTRY
INFO-DIR-SECTION Individual utilities
START-INFO-DIR-ENTRY
* GPC: (gpc)Invoking GPC.       The GNU Pascal Compiler.
END-INFO-DIR-ENTRY

   This file documents the GNU Pascal Compiler.

   Copyright (C) 1988, 1996-2000 Free Software Foundation, Inc.

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
that the sections entitled "GNU General Public License", "The GNU
Project", "The GNU Manifesto" and "Funding for Free Software" are
included exactly as in the original, and provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that the sections entitled "GNU General Public
License", "The GNU Project", "The GNU Manifesto" and "Funding for Free
Software" and this permission notice, may be included in translations
approved by the Free Software Foundation instead of in the original
English.


File: gpc.info,  Node: Fixed Bugs,  Next: Implemented Features,  Up: Done

Problems that have been solved
------------------------------

   This section lists the bugs fixed since 1st Oct 1997, together with
the date (YYYYMMDD) on which they were fixed, so you can check if some
bug has already been solved in a recent release or developer version.

   After the release of GPC 2.1, this section will be cleared and
contain the bugs fixed after that release.

   * 20001025: FreeBSD: ``T_RESADFLT' undeclared' (fixed by removing
     IllReservedAddress, IllPriviledgedInstruction, IllReservedOp which
     are not very useful and may not have been supported on any system,
     anyway)

   * 20000902: if reading from files etc. is interrupted by signals,
     this causes an I/O error

   * 20000717: GMP unit: doesn't work with version 3.x of the GMP
     library

   * 20000626: slight errors in debug line number information for
     assignment or procedure call statements

   * 20000606: CRT doesn't work with windows > 255 chars wide or high

   * 20000529: the installation does not work without the `install'
     program installed <latimer@phg.mc.vanderbilt.edu>

   * 20000521: very hard reproducible bug(s?) (fjf212.pas; fh19980828.3)

   * 20000520: fatal signal 6 when trying to write a GPI file into a
     non-writable directory

   * 20000516: Dos: PackTime/UnpackTime give wrong results on
     big-endian machines

   * 20000505: `-I' options are forgotten after each include statement
     (ian4.pas)

   * 20000505: `div' also works as a real division (kevin14.pas)

   * 20000505: the arguments of long real functions are converted to a
     wrong type <9811112136.AA18086@sunflower.agron.iastate.edu>
     (robert1[ab].pas)

   * 20000505: problem with rewrite on file of packed array of packed
     record (daj7.pas) <48378@tcs01.demon.co.uk>

   * 20000505: `Extend'ing a file previously `Reset' without an
     intermediate `Close' doesn't work correctly (daj13.pas)
     <48469@tcs01.demon.co.uk>

   * 20000503: Sparc: division by reals (fjf237.pas, matt1.pas) or
     `Round (real_constant)' (chaput1.pas) make the compiler crash
     <199911040915.KAA11168@humulus.daimi.au.dk>

   * 20000503: division of complex numbers by reals doesn't work
     (maur4.pas)

   * 20000503: the Pascal main program does not get lineno stabs, so it
     is hard to debug it with GDB or RHIDE

   * 20000421: DosUnix: TranslateRedirections erroneously translates
     quoted redirections

   * 20000420: the compiler segfaults on `--uses=foo,bar'
     (fjf101[ab].pas)

   * 20000420: `--executable-file-name' doesn't work correctly with
     file names containing `\'

   * 20000420: DJGPP: `--automake' is more buggy than on other systems

   * 20000406: the preprocessor only understands C operators in `{$if}'
     directives, not Pascal operators like `not', `and', `or'
     (fjf423.pas)

   * 20000324: unit/module initialization and finalization code is
     executed in the wrong order (fjf185.pas)

   * 20000324: IRIX and AIX (and wherever else): unit/module
     initializers and finalizers are not executed

   * 20000323: Mingw: environment variables are not accessible

   * 20000319: ignore text after `$else' and `$endif', but warn if
     `--pedantic' was given (fjf412[ab].pas)

   * 20000319: character constants of the form #42 are not handled
     correctly in complicated macro usage (fjf205.pas)

   * 20000308: `attribute (const)' doesn't work

   * 20000226: during GPC build, the info files should be created in
     the source rather than the build directory, because they're
     included in source distributions

   * 20000221: global goto bug (goto4.pas, demos/parserdemo.pas)
     <3832137D.21C612FD@ujf-grenoble.fr>,
     <199911040324.WAA19382@kaylor.ncifcrf.gov>

   * 20000213: processing of initialized arrays takes quadratic time

   * 20000206: superfluous warning `cast increases required alignment
     of target type' (tmp) (fjf398.pas)

   * 20000202: `Close' should not be predefined in `--extended-pascal'
     <199912112311.SAA25109@mail.bcpl.net> (fjf393.pas)

   * 20000202: `case' in the main program doesn't work correctly (e.g.
     pretty.pas) (tmp)

   * 20000202: insufficient type checking with subranges (fjf305.pas)

   * 20000202: gpc-lex must not seek back (fjf311.pas; `-pipe' doesn't
     work correctly)

   * 20000202: Big-endian machines: some set operations don't work
     correctly (fjf329[ab].pas)

   * 20000202: gpc1 crashes when initializing a string with `ParamStr
     (1)'

   * 20000202: for a binary operation with a signed and an unsigned
     integer operand, use a signed type for the result (fjf325.pas,
     fjf326.pas)

   * 20000201: a few BP compatibility routines in the Dos and WinDos
     units (e.g. `GetDate') don't accept parameters of type Word if it
     was redefined using `-D__BP_TYPE_SIZES__'

   * 20000131: `--uses' doesn't work in units

   * 20000124: `gpc -B. -L. -v' should not try to link

   * 19991221: reference string parameters to RTS functions break after
     declaring a procedural variable with a value string parameter
     (fontana1.pas)

   * 19991107: CRT, CRTDemo: improved behaviour in response to screen
     size changes

   * 19990913: Sparc: `downto' loops with variables of size 1 bit don't
     work (fjf374.pas)

   * 19990905: GetCPUTime can't measure long CPU times reliably on some
     systems (e.g. Solaris)

   * 19990804: the variable `Environment' can be made invalid by PutEnv
     (e.g. on DJGPP), assignments to it are illegal (e.g. glibc), and
     some other problems with environment variables (fjf371.pas)

   * 19990802: GPM files are not stored in the unit-destination-path

   * 19990725: opened files can't be erased

   * 19990720: real constants of the form `0.5E+00' are not interpreted
     correctly (rick1.pas)

   * 19990712: function results of a string type declared in another
     unit are not correctly converted to CStrings (fjf302.pas)

   * 19990623: type error with schemata containing strings (fjf189.pas)

   * 19990623: integer shifts should not alter the sign (fjf84[ab].pas,
     fjf355{,a}.pas)

   * 19990622: computed constants that don't fit into a LongestInt
     don't work (fjf41.pas,fjf88.pas)

   * 19990619: routines with const parameters don't work in procedural
     parameters (chief26.pas)

   * 19990618: two-unit bugs (baby2.pas, sam12.pas, maur6.pas)

   * 19990618: the construct `^f_oo' is misinterpreted as a
     Borland-style char constant (fjf350.pas)

   * 19990618: conformant array bounds of enum types don't work
     <C1256784.0026BE34.00@synln01.synstar.de> (pd2.pas)

   * 19990618: enum variables cannot be used in a `for var in'
     statement <C1256784.0027179B.00@synln01.synstar.de> (pd1.pas)

   * 19990609: superfluous warning when `return'ing a char constant
     from a function returning a char (fjf249.pas,fjf351.pas)

   * 19990601: the Graph and CRT units cannot be used together
     (requires PDCurses update compiled with -DLIBBCC)

   * 19990512: Rewrite/Extend with a filename parameter don't check for
     the existence of the file (fjf348.pas)

   * 19990504: DJGPP: `FExpand'ing `x:' and `x:\..' can give strange
     results

   * 19990428: IOSelect doesn't work with the X11 version of CRT (fix
     includes PDCurses patch)

   * 19990412: bug with goto and local variables of non-constant size
     (berend3.pas) <004001be4bc2$24bfc9c0$0321a8c0@bmach.nederware.nl>

   * 19990411: EGCS: new errors (tom4.pas); new errors with `-g -O3'
     (forvars1.pas)

   * 19990411: EGCS: `New'ing a `File' pointer doesn't work
     (chief30.pas)

   * 19990410: missing range checking in `#42' char constants
     (fjf332.pas)

   * 19990403: Dos-like systems: Dos: FindFirst/FindNext file name
     matching should be case-insensitive
     <3705B550.B1AA360E@ujf-grenoble.fr>

   * 19990313: Solaris 2.7 (and perhaps other systems): FExpand doesn't
     work correctly with an empty directory name

   * 19990308: don't turn the lower index of an array slice access to 1
     (except for strings in `--extended-pascal') (fjf340[a-d].pas)

   * 19990304: BlockRead and BlockWrite don't check if the file is open
     for reading/writing (fjf339.pas)

   * 19990225: `Copy' and some other built-in routines don't check the
     number of arguments (fjf333.pas)

   * 19990223: DJGPP (and other systems without sinl() etc. in libm):
     long real Sin etc. produce linking errors
     <36D3063C.4D14F73C@cicc.unam.mx> (maur5.pas)

   * 19990222: `Null' is not accepted as an open or conformant array
     parameter

   * 19990219: `Break' and `Continue' with case statements are handled
     like in C, not like in BP <368563CE.F7F2D31C@mundivia.es>
     (fjf287[ab].pas)

   * 19990204: pointers to `file' don't work (chief28.pas)

   * 19990203: the order of objects/libraries in a `{$L}' directive is
     reversed

   * 19990203: cardinals are not converted correctly in some
     expressions (fjf324.pas)

   * 19990203: `Length' should return integer, not cardinal
     (fjf323.pas) (tmp)

   * 19990202: using undefined strings can cause segfaults at runtime
     (fjf322.pas)

   * 19990202: chars are not accepted as value/const string parameters
     to insert (fjf254.pas)

   * 19990202: DJGPP: CRT: ReadKey returns #10, not #13, for the enter
     key when CheckBreak is True

   * 19990201: FreeBSD: StatFS in the RTS doesn't compile
     <003001be4b65$1b0b2d50$0321a8c0@bmach.nederware.nl>

   * 19990130: ForceExtension doesn't handle empty wanted extensions or
     directory names with ExtSeparators in them

   * 19990129: RemoveDirSeparator erroneously removes the root
     directory slash

   * 19990129: CRT with ncurses: Read[ln] returns endless empty lines
     after the first line entered

   * 19990129: Bind should remove trailing DirSeparators from the file
     name (-> FSplit and some other functions don't work always/on all
     systems)

   * 19990128: Big-endian machines: CRT: the declaration of TWindowXY
     is wrong

   * 19990127: automake and autolink can't use units without source
     (fh19990124.2)

   * 19990127: let ExpandEnvironment, FileNameMatch and HasWildCards
     (formerly in GPCUtil, now in the RTS) handle `\' quotations
     (except under Dos systems, of course)

   * 19990126: Extend/Append can cause segfaults under more or less
     strange circumstances

   * 19990126: the (non-trimming) `>' and `<=' string operators are
     mixed up (chief27.pas)

   * 19990123: CRT: let CRT_Done be called before runtime errors so the
     error messages are not overwritten by closing curses

   * 19990122: reading from TTYs/pipes doesn't handle #0's correctly
     (fjf318[ab].pas)

   * 19990122: some superfluous warnings in `--borland-pascal' mode

   * 19990116: the compiler should abort if a C compilation fails
     (link8.pas)

   * 19990116: const parameters of schema type should be passed by
     reference, not by value (fjf315[ab].pas)

   * 19990115: problems treating `string' as `string(255)' in
     connection with procedural parameters (fjf241.pas)

   * 19990115: ignore `--executable-file-name', `--executable-path',
     `--unit-destination-path' etc. when `-S', `-c', ... is given

   * 19990112: Solaris (and other big-endian machines): writing chars
     doesn't work (fjf314.pas)

   * 19990110: DJGPP: when {$executable-file-name} is given, stubify
     doesn't get the correct file name, so no .exe is created

   * 19990109: linking errors with automake when a unit is not
     recompiled (fh19971015), <ABcLeYr887@e00827.vno.lt>
     (marius2[ab].pas)

   * 19990109: choose a unique temporary file name for the (former)
     .gpc files so that concurrent compilations don't conflict

   * 19990109: empty .gpc files before usage

   * 19990109: automake doesn't handle `uses' in implementation part of
     a unit (fjf200{,c}.pas)

   * 19990109: `$L' in units doesn't always work without `--autobuild'
     (link1[a-c].pas, link5[ab].pas)

   * 19990106: when compiling without automake and a needed unit is not
     found, compilation should abort immediately

   * 19990102: `$L' at the beginning of a source file makes the
     compiler crash (link6.pas)

   * 19981230: an integer subrange type is destroyed when a subrange of
     another type of the same size is being used as an array index
     (ross1.pas)

   * 19981230: arguments to `Dispose' are evaluated twice
     <36730596.81CC880C@mundivia.es> (miguel1.pas)

   * 19981230: the result of `Copy' can't be passed to `Val'
     (fjf306.pas) (tmp)

   * 19981228: fatal signal 6 when trying to write a GPI file into a
     non-writable directory

   * 19981227: autobuild doesn't recompile C files if the object file
     exists already

   * 19981227: passing a CString result of a function with parameters
     to a string parameters works, although it shouldn't, at least not
     without conversion (fjf242.pas)

   * 19981227: procedural variables should not be dereferenced when
     passed as an untyped parameter (fjf261.pas)

   * 19981227: integers can be passed for string parameters (fjf253.pas)

   * 19981227: for loops with counters of type subranges of char don't
     work correctly (chars2.pas) (tmp)

   * 19981220: missing type checking in `absolute' (fjf300.pas)

   * 19981219: don't pass Pascal specific options (e.g. `--automake')
     to gcc1, but do pass the other ones (fjf203.pas)

   * 19981217: `Polar' doesn't accept integer constants (fjf303.pas)

   * 19981212: DJGPP: fflush() clobbers the file position which causes
     some problems with GPC's file handling

   * 19981208: the preprocessor gets confused by two Pascal comments in
     sequence in an unusual situation
     <199812081112.LAA25879@stams.strath.ac.uk> (ian2.pas)

   * 19981207: set addition doesn't work correctly (ian1.pas)

   * 19981207: bug in set addition (fjf262.pas)

   * 19981207: some set operations don't work with optimization
     (fjf196.pas)

   * 19981207: comparing sets doesn't always work (chris5.pas)

   * 19981207: the automake mechanism doesn't always work properly to
     compile the Pascal parts of the RTS

   * 19981206: the result of built-in string functions can be passed as
     var (fjf298[a-\infty].pas)

   * 19981206: bugs on machines with strict alignment requirements
     (chris4.pas, confarr5.pas, pack{4,5,6,10,11,12}.pas)

   * 19981205: truncate strings in `Copy' (fjf40b.pas)

   * 19981205: CString2String doesn't work correctly with CStrings of
     length > 4 (fjf295.pas,fjf297[a-c].pas) (tmp)

   * 19981202: another instance of the two-unit problem
     (fjf294[ab].pas) (tmp)

   * 19981202: GCC2: typed constants don't work with `-g -O3'
     (fjf36.pas)

   * 19981202: don't allow files or structures containing files to be
     assigned via `:=' or returned from a function (john2[a-d].pas)

   * 19981202: only 1 parameter is accepted for C functions with
     varargs <3.0.6.32.19981110215411.007bb100@vegasnet.net> (ken1.pas)

   * 19981130: autobuild should recompile a unit only once, even if it
     is used from multiple places

   * 19981129: some invalid preprocessor directives cause infinite
     error messages (dollars.pas)

   * 19981129: storage class qualifiers don't work with typed constants
     and initialized variables (fjf245{,a}.pas)

   * 19981129: operator declarations with var parameters or const
     parameters of record type make the compiler crash (fjf232[a-c].pas)

   * 19981129: missing type checking with const parameters of record
     type (fjf231.pas)

   * 19981129: cyclic `uses' don't work (jesper5.pas)

   * 19981129: using a named subrange type as an array index spoils the
     range (sam11.pas)

   * 19981119: enum types with 128 or more elements don't work
     (sam9.pas)

   * 19981118: missing type checking with value string parameters
     (fjf291.pas)

   * 19981118: superfluous warning with constant sets and unsigned
     variables (fjf290.pas)

   * 19981118: missing type checking of method function results against
     string parameters (fjf289.pas)

   * 19981118: gpc segfaults after the declaration of `array [char] of
     boolean' (fjf288.pas)

   * 19981118: increase every object's alignment to the maximum in
     order to prevent alignment warnings with child types (fjf286.pas)

   * 19981118: schemata in variant records are not initialized
     correctly in some situations (fjf272.pas)

   * 19981118: another Low/High bug (fjf269.pas)

   * 19981118: another string parameter bug (cstrpar3.pas)

   * 19981118: gpc segfaults on `operator +;'

   * 19981116: subranges that occur in packed records can't be passed
     by reference <802566BB.0043115A.00@buffer1.HQ.quantel> (sam8.pas)

   * 19981116: val doesn't handle empty strings correctly (fjf292.pas)

   * 19981104: `--ignore-function-results' doesn't work with string
     return values (fjf282.pas)

   * 19981104: gpc1 segfaults on a strange schema usage (fjf275.pas)

   * 19981104: const void parameters don't work (fjf274.pas)

   * 19981104: external variables shouldn't be initialized again
     (fjf273.pas)

   * 19981104: missing type checking with High applied to arrays
     indexed by enumeration types (fjf271.pas)

   * 19981104: indexing an `array [false..true]...' doesn't work
     (fjf270.pas)

   * 19981104: don't initialize schemata and files when using GetMem as
     a procedure (baby.pas)

   * 19981020: string return values of object methods are not
     initialized (fjf281.pas) (tmp)

   * 19981020: severe bug with CString2String in a case statement
     (fjf279.pas)

   * 19980920: pass the correct specs to gcc1 (e.g. -D__i386__ on an
     x86) (predef.pas)

   * 19980918: `--executable-file-name' doesn't work with program names
     like `magic', `format', and prefixes of them (magic.pas)

   * 19980830: DJGPP: GPC crashes if the DJGPP variable is set
     incorrectly <ABfsDYraQI@e00827.vno.lt>

   * 19980830: DJGPP: `JDIR' problem

   * 19980830: make the To-Do list, __GPC_RELEASE__ and GPC archive
     file names y2k safe

   * 19980830: check conditions that are always true/false also for
     Cardinal (fjf225.pas)

   * 19980830: superfluous warning with ParamStr(ByteVar) (fjf224.pas)

   * 19980830: variables initialized by a function call don't work
     (fjf210.pas)

   * 19980830: the preprocessor can't handle `elif' (fjf236.pas)

   * 19980826: type checking bug with ^Longint (fjf223.pas)

   * 19980822: EGCS: new errors with `-g -O3' (objects.pas, retval.pas,
     testounit.pas)

   * 19980822: CString2String evaluates its argument mutiple times
     (fjf208.pas)

   * 19980822: give an error rather than a warning when
     passing/assigning incompatible pointer types (fjf201[a-h].pas)

   * 19980822: {$executable-file-name} doesn't work without `program
     foo' (results in a.out) (fjf51.pas)

   * 19980822: array ranges are not checked in schemata (schema4.pas)

   * 19980816: file buffers of files open for writing can't be read
     from (fjf220.pas) (tmp)

   * 19980802: extend/append should only work for text files in
     `--borland-pascal' (fjf202.pas)

   * 19980802: type casts into `file' don't work (fjf207.pas)

   * 19980729: define `__NEED_ALIGNMENT__' when needed

   * 19980729: incorrect cyclic `uses' are not recognized properly
     (fjf161.pas,fjf161u.pas,fjf162.pas)

   * 19980729: new does not work with an object pointer variable and
     constructor given (fjf155.pas)

   * 19980729: `_p_binding()' must only be called for files (fjf153.pas)

   * 19980729: fatal signal 6 when confusing a schema type witha schema
     variable (fjf151.pas)

   * 19980729: constant char arrays with boolean index range can't be
     declared like strings (fjf150.pas)

   * 19980729: multi-dimensional packed arrays are packed only in the
     outermost dimension (fjf149.pas)

   * 19980729: missing type checking of boolean array indices
     (fjf124a.pas)

   * 19980729: `virtual memory exceeded' with some sequences of
     automake options and an 8-char long program file name
     (fjf199aa.pas) (tmp)

   * 19980729: defining a type equals to text doesn't work in a unit
     (fjf198.pas)

   * 19980729: array slice access to CStrings doesn't work (fjf188.pas)

   * 19980729: gpc crashes when trying to pass a const string parameter
     to a value string parameter (fjf182.pas) (tmp)

   * 19980729: false warning when using `forward' in the implementation
     part of a unit (fjf177.pas)

   * 19980729: initialized variables in statement part don't work
     (fjf176.pas)

   * 19980729: initialized records with no fields given (`()') don't
     work (fjf175.pas)

   * 19980729: returning a string constant with `return' doesn't work
     (fjf174{,a}.pas)

   * 19980729: initialized string arrays, indexed with an enumeration
     type, don't work (fjf172.pas)

   * 19980729: initialized variables of simple (no record or array)
     schema types does not work (fjf171.pas)

   * 19980729: in some cases, a value type casting is done instead of a
     variable type casting for lvalues (fjf170.pas)

   * 19980729: problems treating `string' as `string(255)' in some
     cases (chief25a.pas)

   * 19980728: Bug with SeekWrite (russell1.pas)

   * 19980722: declaring an asmname for procedures in the
     implementation of a unit/module doesn't work

   * 19980722: schema, pointer and record types do not properly survive
     transport through two interfaces
     (fjf164.pas,orland1.pas,fjf178.pas)
     <Pine.3.89.9805202229.A26897-e400000@bc.seflin.org.>,
     <Pine.3.89.9805211812.B6540-9200000@bc.seflin.org.>

   * 19980722: DJGPP: Segfault while compiling a program which uses a
     unit with a long interface <3537FE98.A4417284@ujf-grenoble.fr>

   * 19980722: GPC's preprocessor outputs too many empty lines when
     removing text between {$ifdef} ... {$endif} (fh19971115),
     <ABcLeYr887@e00827.vno.lt>

   * 19980722: missing file mkstemp with GCC2

   * 19980722: set constants are not accepted for const set parameters
     (chief21.pas)

   * 19980722: With dynamic variables whose discriminant is initialized
     with a function call, the function is called twice (john1a.pas)

   * 19980722: set constants don't work in units (fjf195.pas)

   * 19980722: CString2String doesn't work on nil (fjf191{,b}.pas) (tmp)

   * 19980722: filename argument to reset is not handled properly
     (fjf186.pas,fjf187.pas)

   * 19980722: bug with string parameters (fjf184.pas) (tmp?)

   * 19980722: preprocessor bug with unterminated strings constants in
     undef-ed parts (fjf183.pas)

   * 19980722: High/Low don't work with schema-arrays and strings
     (fjf181{,a}.pas) (tmp)

   * 19980722: when assigning a string to a CString, no #0 is appended
     (fjf180.pas) (tmp)

   * 19980722: bug with converting big integer constants to reals
     (fjf179.pas) (tmp?)

   * 19980722: substrings of string constants give strange results
     (fjf168.pas)

   * 19980722: initialized strings with a #0 in them are cut after the
     #0 (fjf168.pas)

   * 19980722: operations should be promoted to the bigger operand's
     size (fjf167a.pas,fjf167b.pas)

   * 19980722: the last parameter of BlockRead and BlockWrite is not
     type checked (fjf163.pas)

   * 19980722: schema discriminants are not assigned in `New'
     (fjf152.pas)

   * 19980722: strings within a schema type are not recognized in
     read/write (fjf148.pas)

   * 19980722: exit doesn't work in main program in some situations
     (fjf147.pas)

   * 19980722: `--executable-file-name' has problems with 8+3 character
     long file names (fjf141aa.pas)

   * 19980722: strange error message at strange position
     (fh19980121:fjf140.pas)

   * 19980722: var parameters of type untyped file don't work
     (fjf138.pas)

   * 19980722: reset, rewrite, extend on untyped files should require a
     size parameter (except in `--borland-pascal'; there: default to
     128 and give a warning) (fjf136.pas,fjf137.pas)

   * 19980722: reset, rewrite, extend on untyped files don't allow a
     size parameter when given a file name, too (fjf126.pas)

   * 19980722: array with two dimensions, indexed by booleans, doesn't
     work (fjf124.pas)

   * 19980722: wrong comparison of byte with integer
     (fh19971130.2:fjf118.pas)

   * 19980722: don't allow `type y(b:integer)=array[1..b] of
     integer;x=y;' in `--extended-pascal' (fjf115a.pas)

   * 19980722: schema types that are no records or arrays
     (fh19971124:fjf114.pas,fjf114a.pas)

   * 19980722: don't allow writing strings to a file of char
     (fh19971130:fjf111.pas)

   * 19980722: constants can't be written to typed files (fjf110.pas)

   * 19980722: no constant range checking in FillChar (fh19971124)
     (fjf102.pas)

   * 19980722: ReadStr doesn't work with bit fields (fjf37a.pas) (tmp?)

   * 19980722: bug with constants and parameters of function type
     (knuth1a.pas)

   * 19980715: assigning string constant pointers to string pointer
     variables doesn't work (fjf194{,a,b,c}.pas)

   * 19980715: file variables should be automatically bindable without
     `--extended-pascal' (fjf193{,a,b}.pas)

   * 19980715: empty string constants don't work (fjf192.pas)

   * 19980715: superfluous warning when automatically adding the #0
     terminator to const strings (fjf190.pas)

   * 19980630: System: The declaration `Integer = Integer (16)' should
     come before `pInteger = ^Integer', and similarly for other
     declarations

   * 19980630: System: remove built-in procedures Seek and RunError

   * 19980629: an object type cannot be called `Time'
     <359458B1.9EC44A39@ujf-grenoble.fr>

   * 19980629: superfluous warnings `no previous prototype for
     __init_unitname' in Pascal parts of the RTS when making GPC

   * 19980629: gpc does not return an error status after a used unit
     does not exist (neither as source nor precompiled) or when
     auto-making a unit failed

   * 19980629: fixed size strings are not accepted for const string
     parameters (fixstr1.pas)

   * 19980629: superfluous warnings when initializing CStrings with a
     string constant and when assigning a string to a CString
     (fjf176.pas)

   * 19980611: writing to files via `filevar^' doesn't always work
     (fjf173.pas)

   * 19980531: allow resetting a file that was opened with rewrite,
     don't close it temporarily
     <199710081754.KAA17185@gnarly.swdc.stratus.com>

   * 19980523: EMX (dos?,os/2!): randomize doesn't work

   * 19980521: automake doesn't work on djgpp in gpc980401
     <352539F3.92DE9585@ujf-grenoble.fr>

   * 19980520: strings are passed to Insert and Delete by value rather
     than by reference after the declaration of a procedure with a
     value string parameter (fjf166.pas)

   * 19980520: name space conflict with strcmp and other functions
     (chief24.pas)

   * 19980520: System: set ExitProc to nil before calling

   * 19980520: System: remove built-in procedures fillchar, move,
     assign, paramcount, paramstr, insert, delete, pos, copy, str, val,
     int, frac, binfile stuff

   * 19980520: GPCTypes: type declarations (esp. string=bpstring)
     should rather be in system

   * 19980520: GPCTypes: use the modern integer type declarations;
     Integer,Word 16 bit;comp 64 bit with _Borland_16_Bit_

   * 19980520: Dos: include a dummy SwapVectors procedure

   * 19980512: don't pre-read the buffer in typed files after read
     (fjf104.pas)

   * 19980512: `Seek' and `SeekRead' etc. do not yet work in all
     situations (fjf95b.pas)

   * 19980416: non-text files opened with reset are not writable
     (fjf157.pas)

   * 19980416: position for writing into a file opened with reset is
     wrong by one record (fjf157.pas,fjf158.pas,fjf159.pas,fjf160.pas)

   * 19980410: `EOF' doesn't work with untyped files in djgpp
     (tc19980324)

   * 19980410: Dos line endings are not handled correctly in `ReadLn'

   * 19980405: reading chars from text files doesn't work (fjf131.pas)
     (tmp)

   * 19980405: `--borland-pascal': superfluous warnings `compiler
     directives ... incompatible' for `{$define}', `{$if[n]def}',
     `{$b+/-}', `{$x+/-}'

   * 19980405: make parameter to `GetFile' `const', not `var'

   * 19980405: read/write don't work with a text file as the only
     argument (fjf132.pas)

   * 19980405: randomized automake (fh19971015)

   * 19980405: chars are not accepted for const string parameters
     (chief22.pas)

   * 19980405: `xor' doesn't work with booleans (fjf154.pas)

   * 19980405: const parameters of undiscriminated schema type don't
     work (fjf144.pas)

   * 19980405: don't accept object methods that were not declared with
     the object type (fjf143.pas)

   * 19980405: GPC barfs on type checking with Boolean values in `case'
     statements <199801171504.QAA13384@agnes.dida.physik.uni-essen.de>

   * 19980405: Nested packed conformant arrays do not yet work in all
     cases <199801171504.QAA13384@agnes.dida.physik.uni-essen.de>

   * 19980405: Inside `New', all methods of an object become visible
     and may cause name clashes
     <199801171504.QAA13384@agnes.dida.physik.uni-essen.de>

   * 19980405: string value parameters don't work (fjf125.pas),
     <199802022303.SAA20015@mint.mint.net>

   * 19980405: pack and unpack don't work with conformant arrays

   * 19980405: checking of string var parameters is not strict enough
     (fh19971213:fjf123.pas)

   * 19980405: check for division by zero in constants at compile time
     (fh19971201:fjf121.pas)

   * 19980405: missing type checking of different integer types in var
     parameters (fh19971130:fjf109.pas)

   * 19980405: variable type casting of `^Integer' into `Pointer' for
     passing as var parameter doesn't work (fh19971130:fjf108.pas)

   * 19980405: GPC crashes when writing an array of char to a file of
     char <199711262349.SAA17009@mint.mint.net> (kevin3.pas)

   * 19980405: type casts of integer constants to `[Long]Real' don't
     work (fh19971124) (fjf113.pas)

   * 19980405: don't allow `Dec(Length(S), Count)' (fjf117.pas), `S[0]'
     (fjf116.pas) <199711181231.NAA14069@helena.mi.uni-erlangen.de>
     (2*fh19971124)

   * 19980405: produce an error instead of warning for constants out of
     range (fh19971124) (fjf103.pas)

   * 19980405: EMX: `Extend' doesn't work
     <199803090440.XAA08386@mint.mint.net>

   * 19980405: `Read[ln]': make INT_READ_HEX_MASK the default in
     `--borland-pascal'; `Write[ln]': REAL_CAPITAL_EXP_MASK
     (capexp.pas), make it the default in `--borland-pascal'

   * 19980401: fatal signal 11 with assignment to function method
     return value with a local type declaration (fjf142.pas)

   * 19980220: `ReadStr' causes an error when reading strings and
     source is empty

   * 19980215: `Seek' doesn't work with block devices

   * 19980215: `Seek' doesn't work with untyped files

   * 19980209: treat nil CStrings as empty in write

   * 19980120: `Overlay' is not a reserved word in BP

   * 19980113: bit fields don't work in read (bitfields.pas)

   * 19980112: `Int' and `Frac' don't work on constants
     <199801091201.HAA06756@mint.mint.net> (fjf74.pas) (tmp)

   * 19980106: when reading strings from text files, the capacity is
     too big by 1 (fjf133.pas)

   * 19971230: read doesn't work with packed arrays of char
     <199712300500.AAA30736@mint.mint.net>

   * 19971229: don't allow `4 .. 1'
     <199711270257.VAA06393@mint.mint.net> (subrw2.pas)

   * 19971229: too strict type checking with conformant arrays of char
     (confarr4.pas)

   * 19971229: too strict type checking in case statement with chars
     (chars2.pas)

   * 19971216: don't pre-read the buffer in files (fjf120.pas)
     <199712051906.UAA00483@agnes.dida.physik.uni-essen.de>

   * 19971215: use LongReal for long real constants (fh19971105)
     (fjf77.pas)

   * 19971215: file and string variables declared in the statement part
     are not initialized (fh19971130:fjf106.pas,fjf107.pas)

   * 19971215: too strict type checking with Seek (kevin4.pas)

   * 19971215: segfault with for loop in init code of a unit
     (bpcompat1.0:system.pas),(fh19971005) (maur1.pas)

   * 19971130: move whole words and take care of alignment when
     necessary in MoveLeft, MoveRight (moves2.pas) (moves3.pas)

   * 19971130: `Seek' to elements just written doesn't work
     (fh19971130:fjf110.pas) (tmp)

   * 19971130: remove `Bound_objects' and `Bound_free_list'
     <199710151621.SAA02929@helena.mi.uni-erlangen.de> (ciriaco1.pas)

   * 19971121: give a warning for `SizeOf (constant)'

   * 19971121: `sizeof(1+1)=4'; `sizeof(2)=8'; types of constants
     (fh19971113:fjf92.pas)

   * 19971121: LongInt constants for varargs parameters are passed as
     integers (fjf56.pas,fjf92.pas)

   * 19971121: sizes of [packed] subranges (fjf86.pas,fjf87.pas)

   * 19971121: detect integer constant overflows
     (fh19971113:fjf76.pas,fjf81.pas,fjf82.pas,fjf83.pas)

   * 19971121: make real numbers assignment compatible with complex
     numbers <97101711354779@petrella.cfilm.ba.cnr.it> (pg19971113)

   * 19971121: allow sizeof(discriminated schema type) (fjf99.pas);
     don't allow sizeof(undiscriminated schema type) (2*fh19971115)
     (fjf98.pas)

   * 19971121: `Seek' bug (2*fh19971113) (fh19971113)
     (fjf94.pas,fjf95.pas) (tmp); SeekRead bug (seekrd.pas)

   * 19971121: `array[boolean] of string(2000)' doesn't work
     (fh19971113) (fjf96.pas) (tmp)

   * 19971121: local inline functions after var declaration aren't
     parsed correctly (fh19971013) (fjf75.pas)

   * 19971121: `const procvar = proc' (fh19971113:fjf90.pas)

   * 19971121: check string var parameters for matching capacity
     (fh19971113:fjf91.pas)

   * 19971121: accept `else'/`otherwise' in a `case' statement without
     preceding `;' (fh19971112) (fjf80.pas)

   * 19971121: `else'/`otherwise' bug in `case' (multiple statements);
     don't allow a colon before it
     <199710061122.HAA26981@mint.mint.net>,
     <Pine.OSF.3.96.971007133527.1198C-100000@capella.hut.fi>

   * 19971121: wrong error messages for Insert (2*fh19971109)
     (fjf93.pas) (tmp)

   * 19971121: pointer addition: allow `+'/`-' and `Succ'/`Pred'; bug:
     adds n*Sqr(SizeOf(...)) instead of n*SizeOf(...)
     (fh19971113:fjf72.pas)

   * 19971121: don't allow reading of (non-typed) constants (error, not
     only warning) (fh19970928) (fjf45.pas)

   * 19971121: segfault with assembler code using a record component in
     a procedure (fh19971015) (fjf73.pas)

   * 19971121: wrong error message for invalid record components
     <199710152102.XAA04800@helena.mi.uni-erlangen.de> (fjf71.pas)

   * 19971116: accessing a packed array in a variant record does not
     work correctly
     <199711161700.SAA09857@agnes.dida.physik.uni-essen.de>

   * 19971116: capacity is not stored in a string in a variant record
     <199711161700.SAA09857@agnes.dida.physik.uni-essen.de>

   * 19971113: write blanks before `NaN' (pg19971113) (tmp)

   * 19971112: `Str' in `--borland-pascal': only a numeric argument
     (strbool.pas)

   * 19971112: bug with `goto' in a unit
     <3.0.2.32.19971005235702.006a032@icenet.com.au>

   * 19971112: array schema types of text files don't work (fh19971016)
     (fjf64.pas)

   * 19971112: don't allow schema object types (fh19971016) (fjf65.pas)

   * 19971112: don't allow the same identifier for schema type
     discriminator and a field of the schema (fh19971016) (fjf66.pas)

   * 19971112: fatal error with schema type referring to another schema
     type (fh19971016) (fjf67.pas)

   * 19971112: Pointers to string constants don't work (fh19971016)
     (fjf68.pas)

   * 19971112: bug with multidimensional conformant arrays
     <199710152102.XAA04800@helena.mi.uni-erlangen.de> (fjf69.pas)

   * 19971112: don't allow arrays with negative size (fh19970928)
     (fjf44.pas)

   * 19971112: `var procvar value proc': last program in
     <199707022313.BAA08656@helena.mi.uni-erlangen.de>,(fh19971003)

   * 19971112: segfault with `SqRt' in constant declaration in a unit
     (fh19971111) (fjf78.pas) (tmp)

   * 19971112: procedure in a unit accessing an array passed by
     reference segfaults (fh19971111) (fjf79.pas) (tmp)

   * 19971112: string overflows <6dRwLb2VlJB@rufus.central.de>
     <3258461722101997/A08869/HDC5/11BAB46E3A00*@MHS> (fjf40a.pas)
     (fh19971013)

   * 19971112: SubStr/Copy bug (fh19971013)

   * 19971112: sizes of [packed] subranges (fjf85.pas,fjf88.pas)

   * 19971111: bug with Rewrite,Reset with filename as second parameter
     <1948441422101997/A07437/HDC5/11BAB3AC2F00*@MHS>

   * 19971110: `prior parameter's size depends on ...' bug
     <80256546.003DB078.00@buffer1.quantel.com>

   * 19971110: unknown identifiers in module implementations
     <Pine.BSI.3.96.971108223417.5629A-100000@malasada.lava.net>

   * 19971106: string length check is off by 1 char (fh19971105)

   * 19971106: read and write without parameters are not accepted
     (fh19970928) (fjf43.pas)

   * 19971106: warn about assigning strings to chars (fh19971008)

   * 19971106: type checking in a case statement (fh19971008)
     (fjf58.pas)

   * 19971106: superfluous warning after reading in the return value of
     a function (fh19971003)

   * 19971106: `x absolute procvar': second to last program in
     <199707022313.BAA08656@helena.mi.uni-erlangen.de>,(fh19971003)
     (fjf48.pas)

   * 19971102: `Write (LongRealValue)' doesn't work with very big or
     small or unnormal numbers (2*fh19971105)

   * 19971101: problems with resetting an already open file
     <m0xIyyF-0006OkC@bockermann.ping.de>

   * 19971101: division of LongReals doesn't use full precision

   * 19971101: segfault with wrong program (undeclared array bound)
     (fh19971010)

   * 19971101: accept strings like `#48#49'
     <6dRwLb2VlJB@rufus.central.de>,
     <SIMEON.9710101739.A@muahost.cc.keele.ac.uk>,
     <199710102323.BAA15175@helena.mi.uni-erlangen.de>

   * 19971101: sometimes `*.gpc' files are not removed (fh19971015)

   * 19971101: give a warning for an assignment (or parameter passing)
     of a string to a char

   * 19971101: integer function result can't be assigned to a cardinal
     <199710282015.VAA17667@helena.mi.uni-erlangen.de> (kevin1.pas)

   * 19971022: uses in implementation part of a unit; circular unit
     references <7420001522101997/A07601/HDC5/11BAB3C01400*@MHS>

   * 19971013: `Dispose (nil)' causes a segfault (fjf63.pas)

   * 19971001: `type x=packed record a,b:packed 1..6 end': SizeOf (x) =
     8 (fjf31.pas) <199706271232.OAA15639@helena.mi.uni-erlangen.de>

   * 19971001: objects bug <SIMEON.9704041456.A@muahost.cc.keele.ac.uk>

   * 19971001: pointers to fields of packed arrays/records
     <199705010212.EAA29018@helena.mi.uni-erlangen.de> (3 items)
     (fjf55.pas)

   * 19971001: bug with redefined operator
     <6ZV6gbuMRMB@p-wendt.chateau.line.org> (chris1.pas)

   * 19971001: minor bug <199708111750.AA05985@hoover.gilbarco.com>
     (rphil5.pas)

   * 19971001: exported type bug
     <1.5.4.16.19970613155920.32b721e4@icenet.com.au>

   * 19971001: the set code generated in the Alpha causes runtime
     errors in the generated code

   * 19971001: put global variables into the data segment, not on the
     stack <199707261050.MAA21734@agnes.dida.physik.uni-essen.de>

   * 19971001: bug with call of sqr/abs/round/... in an expression as a
     parameter <6dNsBq9VlJB@rufus.central.de>

   * 19971001: GPC doesn't recognize equal types in connection with two
     units <2754032017091997/A08645/HDC5/11B98D033600*@MHS>

