<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 31, 2014 at 6:48 AM, gettimothy <span dir="ltr">&lt;<a href="mailto:gettimothy@zoho.com" target="_blank">gettimothy@zoho.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><u></u><div><div style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif"><div>Hi Eliot.<br></div><div>
<br></div><div>What/where sets the PRODUCTION and NoDbgRegParms  variables in the #if !PRODUCTION &amp;&amp; defined(__GNUC__) &amp;&amp; !defined(NoDbgRegParms) check ?</div></div></div></blockquote><div><br></div><div>PRODUCTION is defined in platforms/Cross/vm/sqAssert.h</div>
<div><br></div><div>The !defined(<span class="Apple-style-span" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px">NoDbgRegParms) phrase allows someone to define an alternative on the command line via a -D argument, so it allows the</span></div>
<div><span class="Apple-style-span" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px">    # define NoDbgRegParms __attribute__ ((regparm (0)))</span></div><div><span class="Apple-style-span" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px">def to be a default, rather thna the only way.</span></div>
<div><span class="Apple-style-span" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div><span class="Apple-style-span" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px"><br>
</span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif"><div><br></div><div>Are they set by &#39;somewhere&#39; by various -D flags in the mvm? I have grepped to no avail. </div>
<div><br></div><div>Here is my thinking at the moment. The compiler error is showing that the NoDbgRegParms is not being replaced. </div><div><br></div><div><br><blockquote style="border-top-color:rgb(204,204,204);border-left-color:rgb(204,204,204);border-right-color:rgb(204,204,204);border-bottom-color:rgb(204,204,204);border-top-width:1px;border-left-width:1px;border-right-width:1px;border-bottom-width:1px;border-top-style:solid;border-left-style:solid;border-right-style:solid;border-bottom-style:solid;padding-top:7px;padding-right:7px;padding-bottom:7px;padding-left:7px;background-color:rgb(245,245,245)">
<div> /home/wm/usr/src/smalltalk/CMake.oscog/cogVMMaker/Contents/Resources/oscogvm/src/vm/cogit.c:1071:13: note: previous declaration of &#39;ssAllocateRequiredRegMaskupThrough&#39; was here<br> static void ssAllocateRequiredRegMaskupThrough(sqInt requiredRegsMask, sqInt stackPtr) <strong>NoDbgRegParms</strong>;<br>
             ^<br>/home/wm/usr/src/smalltalk/CMake.oscog/cogVMMaker/Contents/Resources/oscogvm/src/vm/cogit.c:20947:1: error: conflicting types for &#39;ssAllocateRequiredReg&#39;<br> ssAllocateRequiredReg(sqInt requiredReg)</div>
</blockquote><br> <br><br>So the question becomes &quot;why not&quot;.</div><div><br></div><div>Well, because the pre-processor (?) is not replacing them. Why? hmmmm....</div></div></div></blockquote><div><br></div><div>Both gcc -v &amp; gcc -E can help debug these kinds of things.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif"><div>thx for your time.<br>
</div><div><br></div><div>tty</div></div></div></blockquote></div>-- <br>Aloha,<div>Eliot</div>
</div></div>