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

Jonas Maebe jonas at freepascal.org
Sat Jul 13 13:40:24 CEST 2019


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.


Jonas


More information about the fpc-devel mailing list