mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-01 05:57:24 +01:00
calling convention that has different hidden parameters than the
interface declaration no longer compiled in Delphi mode (e.g.
webtbs/tw7329.pp on i386)
* fixed remaining declaration parsing incompatibilities in TP/Delphi
modes (other modes already gave errors for the things below):
* give an error for "function a: byte;" in interface followed by
"procedure a;" in implementation ("function a;" in implementation
still allowed as in TP/Delphi)
* give an error for "function a(b: byte):byte" in interface
followed by "function a: byte;" in implementation (if one parameter
or return type is specified in implementation, everything must
be repeated -- "function a;" still allowed)
* copied webtbs/tw0890.pp to webtbf/tw0890a.pp since it now correctly
fails, and modified webtbs/tw0890.pp so it doesn't fail with the
new code
git-svn-id: trunk@5688 -
45 lines
524 B
ObjectPascal
45 lines
524 B
ObjectPascal
{ %fail }
|
|
{$ifdef FPC}
|
|
{$MODE TP}
|
|
{$endif FPC}
|
|
|
|
unit tw0890;
|
|
|
|
INTERFACE
|
|
|
|
procedure GetScreenLine(const x: Integer);
|
|
|
|
function dummy(const x : integer) : integer;
|
|
function dummy2(var x : integer) : integer;
|
|
function dummystr(x : integer) : string;
|
|
|
|
IMPLEMENTATION
|
|
|
|
|
|
procedure GetScreenLine;
|
|
begin
|
|
end;
|
|
|
|
function dummy2;
|
|
begin
|
|
dummy2:=x;
|
|
x:=0;
|
|
end;
|
|
|
|
function dummystr;
|
|
var
|
|
s : string;
|
|
begin
|
|
str(x,s);
|
|
dummystr:=s;
|
|
end;
|
|
|
|
{ this one is refused by BP :( }
|
|
function dummy : integer;
|
|
begin
|
|
dummy:=x;
|
|
end;
|
|
|
|
begin
|
|
end.
|