[fpc-pascal] Warning: Variable xxx does not seem to be initialized

Sven Barth pascaldragon at googlemail.com
Tue Dec 31 21:18:55 CET 2013


On 31.12.2013 15:06, Marcos Douglas wrote:
> On Mon, Dec 30, 2013 at 9:38 PM, Sven Barth <pascaldragon at googlemail.com> wrote:
>> Am 30.12.2013 20:08 schrieb "Marcos Douglas" <md at delfire.net>:
>>
>>
>>>
>>> Hi,
>>>
>>> I'm using FPC 2.6.2 and {advancedrecords}.
>>> The compiler shows a warning when I use a record variable. IMO this is
>>> a bug because record variables need not be initialized, right?
>>
>> Managed types (strings, interfaces, dynamic arrays) inside a record will
>> have a valid value (Nil), but other values will he garbage. The compiler
>> does not check whether a record contains any non-managed fields before
>> generating the warning.
>
> Ok. But is this will be "corrected" in the next version? Because if
> won't, I can not see sense to use it.

It seems that this was already corrected at least in trunk as a test 
with 2.7.1 does not show a warning anymore. I don't know whether the 
corresponding fix was merged to 2.6.3 though (I assume "no" by default 
for compiler changes though).

> The structure that does same but does not have this problem is the
> object type. But is it used yet? I think Delphi make it deprecated,
> right?

What do you mean "But is it used yet?"? And yes, Borland, Codegear, 
Embarcadero, whoever decided that "object" is deprecated in Delphi in 
FPC however they are still fully working and also benefit from newer 
features here and then (mostly because "object" shares a lot of code 
with "class" and "interface").

>
> Talking about Delphi, it has the same problem with warnings on records?

Didn't test that.

Regards,
Sven



More information about the fpc-pascal mailing list