[fpc-pascal] when will the size of an enumerated type change?
Michael Van Canneyt
michael at freepascal.org
Wed Jan 9 16:49:08 CET 2019
On Wed, 9 Jan 2019, Dennis wrote:
> Type
> TComparisonMode = (cmThisOnly, cmThisAndThat, cmThisOrThat);
>
>
> TMyClass = class
> public
> var
> ComparisonMode : TComparisonMode;
> end;
>
>
> I discovered that, the sizeof(ComparisonMode) seem to be different
> depending on whether the type TComparisonMode is defined in the same
> unit file or in another unit file.
>
> Is that possible?
If the units are compiled using different settings, yes.
>
> I cannot create a simple test file to test it because the problem only
> appears in my big project.
>
> Does FPC always produce a 4 byte variable for an enumerated types?
No, it depends on the $mode directive and the settings of the packenum directive.
Michael.
More information about the fpc-pascal
mailing list