[fpc-devel] [Suggestion] Enumeration range-check intrinsic

Michael Van Canneyt michael at freepascal.org
Sat Jul 13 13:52:46 CEST 2019



On Sat, 13 Jul 2019, Jonas Maebe wrote:

> On 13/07/2019 13:28, J. Gareth Moreton wrote:
>> Okay, okay.  So what do we do to stop all these bug reports and help
>> programmers who get caught out by case blocks raising access
>> violations?  Are you effectively saying "don't ever use enumerations for
>> external files and network signals" etc?
>
> Declare your enumation types so that the lowest and highest valid value
> comprise the lowest and highest value representable by its storage:
>
> {$mode delphi}
> {$z1}
> type
>  tmyenum = (ea, eb, ec, emax = 255);
>
> That behaves the same both in FPC and in Delphi.

This is a completely pointless definition, since for effective use 
you still need to add code to check that the value is a named one.

Michael.


More information about the fpc-devel mailing list