[fpc-pascal] Warning not to use the "String" type with FPC 3.x
Jonas Maebe
jonas.maebe at elis.ugent.be
Mon May 9 12:47:55 CEST 2016
Graeme Geldenhuys wrote:
> On 2016-05-09 11:28, Jonas Maebe wrote:
>>>> so the programmer is completely helpless in preventing
>>>> this.
>> Unlike in previous FPC versions, in FPC 3.x the programmer can specify
>> the encoding that ansistring should use at run time via the
>> SetMultiByteConversionCodePage().
>>
>
> True, and from earlier mailing list discussions, not many know about
> that. No fault of yours of course. The most important point is that by
> the time they find out they need to call
> SetMultiByteConversionCodePage() they already lost valuable data.
As mentioned in my previous mail, the same happened in previous FPC
versions.
> All
> the compiler does is raise "warnings" in the compiler output, yet
> happily compiles further and generates you a fatal executable. Those
> should really be errors!
You also want errors when assigning longints to bytes etc? (which does
not even produce a warning) The previous compiler version did not even
produce warnings for string conversions that could result in data loss,
and yet you argue that the situation got worse with FPC 3.x.
> I'm not in the fpc-devel mailing list, but do you mind sharing some
> quick information on what the FPC team are planning for the RTL?
There is no such quick information, because it's a very hairy topic and
no agreement has been reached yet.
> My opinion:
Having opinions available is not the issue. Getting people to completely
implement all of their opinions so that we can compare all options in
practice, with the chance that most of those people's work will be
discarded afterwards (or have them implement it in a way that is usable
no matter which option is chosen in the end), is —understandably— much
more difficult.
Jonas
More information about the fpc-pascal
mailing list