<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">Am 27.12.2017 00:54 schrieb "Giuliano Colla" <<a href="mailto:giuliano.colla@fastwebnet.it">giuliano.colla@fastwebnet.it</a>>:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><div class="quoted-text">
<p>Il 26/12/2017 18:26, Sven Barth via fpc-devel ha scritto:<br>
</p>
<blockquote type="cite">
<div dir="auto">
<div class="gmail_extra" dir="auto">
<div class="gmail_quote">Am 26.12.2017 13:33 schrieb "Giuliano
Colla" <<a href="mailto:giuliano.colla@fastwebnet.it" target="_blank">giuliano.colla@fastwebnet.it</a>><wbr>:<br type="attribution">
<blockquote class="m_-578620141620615840quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>If the idea is not rejected, then a number of
refinements (which I'm ready to implement) are
required to make the feature generally available:<br>
</p>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">My following remarks are independent of an
eventual acceptance of the feature :</div>
<div dir="auto"><br>
</div>
<div class="gmail_extra" dir="auto">
<div class="gmail_quote">
<blockquote class="m_-578620141620615840quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>- All architectures should be supported (now it's
only for x86_64 - symcpu.pas).<br>
</p>
</div>
</blockquote>
</div>
</div>
<div dir="auto">It might be possible to implement this in a
platform independent way that might simply need to expand the
capabilites of "absolute". <br>
</div>
</div>
</blockquote>
<br></div>
The feature in itself is platform independent.<br>
<br>
The only catch is that in pdecvar.pas (where variable declaration is
handled) there's a per platform hook for each symbol type, in order
to allow for special handling of some features.<br>
For consistency I did follow the same rule, which is used for all
the other declarations, disregarding whether they're platform
independent or not. <br>
As a consequence, for each supported platform you must add in its
specific symcpu.pas a type entry:<br>
<br>
tcpubasedvarsym = class(tbasedvarsym)<br>
end;<br>
tcpubasedvarsymclass = class of tcpubasedvarsym;<br>
<br>
and a line of code:<br>
<br>
cbasedvarsym:=tcpubasedvarsym;<br>
<br>
As this is tedious, I've only done it for the platform I'm using
(x86_64/symcpu.pas). To deploy the feature, the same lines must be
added in each platform symcpu.pas unit. There's no more that that.</div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">No matter the syntax that might be chosen for this it will likely be sufficient to handle that feature by an absolutevarsym with a boolean flag or something like that. The difference to an ordinary absolute variable appears to be too small to warrant a new sym type. </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div class="quoted-text"> <blockquote type="cite"><div dir="auto">
<div class="gmail_extra" dir="auto">
<div class="gmail_quote">
<blockquote class="m_-578620141620615840quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>- It should be decided if internal error # which
currently keep the same number of the nearby ABSOLUTE
internal error should be given new values.</p>
</div>
</blockquote>
</div>
</div>
<div dir="auto">Internal errors shall always be unique as they
are used to find the error location, even for copy pasted
code.</div>
<div dir="auto"><br>
</div>
</div>
</blockquote>
<br></div>
What's the rule to avoiding clashes? I gathered sort of YYYYMMDD##
is it correct?</div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Correct. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven</div></div>