[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)))

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

resolve to 

# define NoDbgRegParms __attribute__ ((regparm (0)))

# define NoDbgRegParms /*empty*/

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

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? 


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