<div dir="ltr"><div>Thanks again!</div><div><br></div><div>I am all set now - I needed {$PACKSET 4} :)</div><div><br></div><div>Thanks,</div><div>Gennady</div><div><br></div><div>program setcast;</div><div> {$ifdef FPC}<br>
 {$mode delphi}<br> {$PACKSET 4}<br> {$else}<br> {$APPTYPE CONSOLE}<br> {$endif}</div><div> uses<br>   SysUtils;</div><div> type tenum=0..32;<br>      tmyset= set of tenum;</div><div> var x:int64;<br>     y:tmyset;</div><div>
 begin<br>   x:=int64(y);<br> end.<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jul 22, 2014 at 4:35 PM, Gennady Agranov <span dir="ltr"><<a href="mailto:gennadyagranov@gmail.com" target="_blank">gennadyagranov@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thanks!</div><div><br></div><div>Your example does compile, but if you replace 31 with 32 - it will not compile - no matter what you use - integer, int64 or qword</div>
<div><br></div><div>And I guess I know the reason now - sizeof(left) should be equal to sizeof(right) and 33 bits enum has sizeof of 5 :(</div>
<div><br></div><div>Any suggestions?</div><div><br></div><div>Thanks,</div><div>Gennady</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jul 22, 2014 at 12:13 PM, Marco van de Voort <span dir="ltr"><<a href="mailto:marcov@stack.nl" target="_blank">marcov@stack.nl</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">In our previous episode, Gennady Agranov said:<br>
> ><br>
> > Good. And afaik in Delphi mode this works too in FPC? Did you test?<br>
> ><br>
><br>
> casting integer to set does not compile in FPC - and yes - I use Delphi<br>
> mode :(<br>
<br>
program setcast;<br>
<br>
{$ifdef FPC}<br>
{$mode delphi}<br>
{$else}<br>
{$APPTYPE CONSOLE}<br>
{$endif}<br>
<br>
uses<br>
  SysUtils;<br>
<br>
type tenum=0..31;<br>
     tmyset= set of tenum;<br>
<br>
var x:integer;<br>
    y:tmyset;<br>
<br>
begin<br>
  x:=integer(y);<br>
end.<br>
<br>
compiles in both FPC (both 2.6.x and trunk) and Delphi (XE4)<br>
<br>
_______________________________________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org" target="_blank">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>