" Compatibility mode (with version 2.0)"

This check box controls whether the compiler is in version 2.0 compatibility mode. When you compile your program with the compiler in this mode, your program should behave in the same way it did when compiled with verions 2.0 or 2.1 of the compiler. Compatibility with versions earlier than 2.0 is not guaranteed.

In this version of the compiler the only effect of version 2.0 compatibility mode, is to make the compiler continue to incorrectly treat sets of subrange types as if they were sets of the subrange's host type. So for example

 set of 0..1

is treated like

    set of integer

which in this case will affect how values of the set are represented. Normally your program is not affected by the way set values are represented, however if your program stores set values in data files then the representation of the set values is important.

Compatibility mode was introduced so that you can maintain the format of data files created by programs compiled with previous versions of the compiler, even when you compile those programs with this version of the compiler.