Procedural parameters and types: bug report and work-around_(re)

Sun, 21 Sep 1997 15:46:37 +0200 (MEST)


According to Jesper Lund:
> 
> (Peter, thanks for the speedy response to my first bug report!)

(No problem.  Thanks, Jesper, for the reports and the very helpful
example programs!)

> Note that, contrary to the "incompatible pointers" problem that I reported a
> few days ago, the program below does *not* compile (unless the work-around in
> the example is used).

Fixed now.  :)

> In the example below, there is one unit (u4) and the main program.  The
> example demonstrates all facets of the bug (type inconsistencies) that I have
> discovered, and includes a simple bug work-around (I am assuming here that
> the typecast needed to fix the problem is not a feature ...).

Your assumption is right:  Type-casting of a procedure or function is
yet another bug in GPC - which is also fixed now.  You can, however, cast
the *address* of a function to the type you need - *that* is a feature:

   proc4 (ProcType (@pp));    (* Works *)
   proc3 (ProcType (@pp));    (* Should work, but doesn't; I'm on it ... *)
                              (* okay, now it works, too.               :*)

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