[fpc-pascal] PACKENUM and MINENUMSIZE
Lukas Gradl
fpc at ssn.at
Thu Sep 11 11:03:26 CEST 2008
As far as i can understand the fpc sources it's in compiler/scanner.pas,
line 359ff:
{ Default enum packing for delphi/tp7 }
if (m_tp7 in current_settings.modeswitches) or
(m_delphi in current_settings.modeswitches) then
current_settings.packenum:=1
else if (m_mac in current_settings.modeswitches) then
{ compatible with Metrowerks Pascal }
current_settings.packenum:=2
else
current_settings.packenum:=4;
So it would be 1 fpr Delphi and TP7 mode, 2 for mac (don't know that)
and 4 for all others.
Did a little test program on that. With {$mode objfpc} result is 4, with
{$mode delphi} result is 1. (And the most important for me: Its the
solution to my problem with UIB - will post the reason as an answer to
that posting!)
program Project1;
{$mode objfpc}
{$H+}
Uses SysUtils;
type
TEnumTestType = (
etOne,
etTwo,
etThree,
etFour,
etFive,
etSix,
etSeven,
etEight,
etNine,
etTen,
etEleven,
etTwelve,
etThirteen,
etForteen
);
var
ET: TEnumTestType;
begin
writeln(IntToStr(SizeOf(ET)));
end.
Regards
Lukas
Michael Van Canneyt schrieb:
>
> On Thu, 11 Sep 2008, Marco van de Voort wrote:
>
>> In our previous episode, Michael Van Canneyt said:
>>>> As far as I could find in the docs it depends on $MODE: for $MODE OBJPAS it's
>>>> 4 but I could'nt find the default for $MODE DELPHI.
>>> Where did you read that this depends on $MODE ?
>>> It just says that the default (contrary to Delphi) is 4.
>> Then the doc is wrong, since sizeof (enum with one element) is 1 in Delphi
>> mode.
>
> No problem, if someone would tell me the exact behaviour, I will change it.
>
> Michael.
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
--
--------------------------
software security networks
Lukas Gradl <fpc#ssn.at>
Eduard-Bodem-Gasse 9
A - 6020 Innsbruck
Tel: +43-512-214040-0
Fax: +43-512-214040-21
--------------------------
More information about the fpc-pascal
mailing list