On 07 Feb 2008, at 13:16, Matt Emson wrote:

Jonas Maebe wrote:

At this time, the compiler cannot supporting systems which lack certain architectural features (e.g., several internal transformations introduce address/pointer expressions in code which does not contain any pointers whatsoever at the Pascal level). While it is possible to override these, it would be much more difficult then just disabling a couple of things in the parser for certain targets.
Okay, this is becoming off topic - sorry.

Not really, although fpc-devel might be more appropriate.

To support Flash, I would assume a cross compiler would be used. Does that still have the same issues?

Yes, I was only talking about the generated code, not about the compiler sources themselves. A simple example is in case you use

writeln(textpara,inta,intb);

Internally, this is replaced by

tempptr:[EMAIL PROTECTED];
fpc_write_text_sint(tempptr^,a);
fpc_write_text_sint(tempptr^,b);
fpc_writeln_end(tempptr^);

The reason is that textpara could be a function call, and in that case it must be called only once rather than thrice (and yes, internally the compiler can take the address of function call results, and no, as a programmer you are not allowed to do that :)


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to