Range Check gives false positive with ZeroBasedStrings enabled
With the default debug mode in Lazarus the following example program with ZeroBasedStrings raises a false positive range check error:
```pascal
program project1;
{$mode objfpc}{$H+}
{$ZeroBasedStrings On}
uses sysutils;
var
S: String = 'Cat';
begin
S[0] := 'H';
WriteLn(S);
end.
```
[RangeCheckFalsePositive.zip](/uploads/170836577d199ad3ae7958ddf4bb5212/RangeCheckFalsePositive.zip)
issue