bugs, incompatibity, function attributes_(re)

Wed, 2 Jul 1997 00:57:30 +0200 (MET DST)


According to Jan-Jaap van der Heijden:
> 
> Borland does it like this:
> 
> -----------------------------------------
> unit Foo;
> 
> interface
> 
> function Bar(var i: integer): integer;
> 
> implementation
> 
> function Bar; external;
> 
> end.
> -----------------------------------------

GPC allows this:


    Unit Foo;

    Interface

    Function Bar ( Var i: Integer ): Integer; external;

    Implementation

    end.


(Or `attribute', or `asmname' in the Interface part.)

However, Borland-comptaible syntax should be supported, too.

> Although it accepts the input, GPC doesn't do anything with the
> directives. (function attributes not surviving the GPI mechanism is a
> long-standing bug, but the "asmname" is silently ignored).

It's fixed now.  :-)

> [...]
> GPC has no equivalent for the "DLLfile".
> But, if implemented, the automake mechanism could add an option
> "-lDLLfile" to the linker command line, something you have to do manually
> now. This is useful for all platforms, not just windows DLL's BTW.

I agree.

> 1. Are there any reasons not to change the "external" declaration, at
>    least for "borland" mode?

This should be done.  With what priority?

> 2. Any objections against allowing (working, that is) function attributes
>    in the implementation part?

When we want them in the GPI file, they *must* be present already in the
Interface part.

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 [970624] - 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