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@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
--------------------------
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to