--- src/subs/mm.f2c.orig 2013-07-03 00:13:28.050984953 -0400 +++ src/subs/mm.f2c 2013-07-03 00:15:56.695917500 -0400 @@ -122,15 +122,17 @@ if(s == (fort_integer *)NULL) return; offset = s - data.addr; t = (fort_ptrdiff)offset; -#ifdef DEBUG - printf("MM_DEBUG: s=0x%lx data=0x%lx count=%d\n",s,data.addr,counter++); - printf("MM_DEBUG: t=0x%lx offset=0x%lx size=%d\n",t,offset,size.val); - printf(" s=%ld data=%ld offset=%ld\n",s,data.addr,offset); - printf(" s=%d data=%d offset=%d\n",s,data.addr,offset); - printf(" sizeof(fort_ptrdiff)=%ld sizeof(ptrdiff_t)=%ld sizeof(fort_integer)=%ld\n", - sizeof(fort_ptrdiff), sizeof(ptrdiff_t), sizeof(fort_integer)); -#endif - if(t != offset) bug_c('f',"Some odd form of rounding problem, in mmAlloc"); + if(t != offset) { + /* MacPorts patch: print debugging info if and only if the assertion fails */ + printf("MM_DEBUG: s=0x%lx data=0x%lx count=%d\n",s,data.addr,counter++); + printf("MM_DEBUG: t=0x%lx offset=0x%lx size=%d\n",t,offset,size.val); + printf(" s=%ld data=%ld offset=%ld\n",s,data.addr,offset); + printf(" s=%d data=%d offset=%d\n",s,data.addr,offset); + printf(" sizeof(fort_ptrdiff)=%ld sizeof(ptrdiff_t)=%ld sizeof(fort_integer)=%ld\n", + sizeof(fort_ptrdiff), sizeof(ptrdiff_t), sizeof(fort_integer)); + bug_c('f',"Some odd form of rounding problem, in mmAlloc"); + } + *(ptr.addr) = t+1; } /************************************************************************/