[Vm-dev] Where/what sets NoDbgRegParms?

gettimothy gettimothy at zoho.com
Sat Nov 15 21:26:58 UTC 2014


Hi guys,



On my system, NoDbgRegparms is set such that in Cog/src/vm/cogit.h and Cog/src/vm/cointerp.h the follwoing lines:



#if !PRODUCTION && defined(__GNUC__) && !defined(NoDbgRegParms)
# define NoDbgRegParms __attribute__ ((regparm (0)))
#endif

#if !defined(NoDbgRegParms)
# define NoDbgRegParms /*empty*/
#endif

 
resolve to 





#if TRUE && TRUE && FALSE
# define NoDbgRegParms __attribute__ ((regparm (0)))
#endif

#if FALSE
# define NoDbgRegParms /*empty*/
#endif

 
 
which means the NoDbgRegParms in the function declarations are never removed in cogit.c and cointerp.c


example:
static sqInt abstractRegisterForConcreteRegister(AbstractInstruction * self_in_abstractRegisterForConcreteRegister, sqInt reg) NoDbgRegParms;
 
My problem is I cannot find where the dang thing is defined. I have grepped to no avail from the top of the Cog svn tree with 


grep -rn NoDbgRegParms --exclude=mvm --exclude=*.c *  

 
and nothing. 


Any ideas on where to look? 


thx.


btw, when I force the NoDbgRegparms to be empty, things compile just fine form build.linux32x86/squeak.cog.v3/bld/mvm which was my problem when I had to detour for a bit.











-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141115/3c72e645/attachment.htm


More information about the Vm-dev mailing list