[fpc-devel] Scalar value is accepted as an argument for anopenarray parameter
Skybuck Flying
skybuck2000 at hotmail.com
Mon Jun 11 00:03:01 CEST 2012
-----Original Message-----
From: Sven Barth
Sent: Sunday, June 10, 2012 18:23
To: fpc-devel at lists.freepascal.org
Subject: Re: [fpc-devel] Scalar value is accepted as an argument for
anopenarray parameter
On 10.06.2012 00:22, Skybuck Flying wrote:
>
>
> -----Original Message----- From: Marc Weustink
> Sent: Friday, June 08, 2012 9:08
> To: FPC developers' list
> Subject: Re: [fpc-devel] Scalar value is accepted as an argument for an
> openarray parameter
>
> On 8-6-2012 8:18, Alexander Klenin wrote:
>> The following code compiles both with :
>>
>> procedure F(const A: array of ShortInt); begin end;
>> begin F(1); end.
>>
>> I think this is a bug in FPC, but if not -- it should be documented here:
>> http://freepascal.org/docs-html/ref/refsu59.html#x157-16700014.4.5
>>
>> I am willing to file an issue one way or another.
>
> "
> Unfortunately Delphi (6) accepts this too. It took me some time at work
> "
>
> Delphi XE2 does not ;)
"
Delphi XE does not accept constants either, but scalar variables. So the
following compiles:
<snip>
"
Constant values and untyped constants can indeed not be used as argument
for open array parameters, but typed constants can.
"
// Indeed:
program openarrayscalar;
{$apptype console}
const
// value = 42; // not allowed
value : integer = 42; // allowed
procedure Test(aArgs: array of LongInt);
var
i: LongInt;
begin
for i in aArgs do
Writeln(i);
end;
begin
Test(value);
Readln;
end.
Bye,
Skybuck.
More information about the fpc-devel
mailing list