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.