[fpc-devel] adding a new token to compiler cause exception
Jonas Maebe
jonas.maebe at elis.ugent.be
Tue Oct 13 21:51:17 CEST 2015
On 13/10/15 19:59, Mohsen wrote:
> if (idtoken in [_EXPORT,_EXTERNAL,_WEAKEXTERNAL,_PUBLIC,_CVAR]) then
>
> ptconst.pas(95,45) Error: range check error in set constructor or
> duplicate set element
>
> how to solve it ?
Pascal sets can only contain values/enumerations whose ordinal value is
<= 255. There are more than 256 tokens already. If you add new tokens at
the start, existing tokens may get an ordinal value > 255, so existing
set expressions that previously worked may now fail.
The only way to solve that is to remove the items whose ordinal values
are > 255 from set expressions and to test for them using the regular
'=' operator.
Jonas
More information about the fpc-devel
mailing list