From e9758a243248d4edcf3a705fdb77b294421debed Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 5 Dec 2007 16:06:51 +0000 Subject: [PATCH] fix pointer arithmetic for MSVC svn: r7900 --- src/mzscheme/gc2/newgc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mzscheme/gc2/newgc.c b/src/mzscheme/gc2/newgc.c index ae065d3e28..ba031aff10 100644 --- a/src/mzscheme/gc2/newgc.c +++ b/src/mzscheme/gc2/newgc.c @@ -433,7 +433,7 @@ static void *allocate_big(size_t sizeb, int type) gen0_big_pages = bpage; pagemap_add(bpage); - return (void*)(addr + PREFIX_SIZE + WORD_SIZE); + return PTR(NUM(addr) + PREFIX_SIZE + WORD_SIZE); } #ifdef ALIGN_DOUBLES @@ -1625,7 +1625,7 @@ inline static void memory_account_mark(struct mpage *page, void *ptr) { GCDEBUG((DEBUGOUTF, "memory_account_mark: %p/%p\n", page, ptr)); if(page->big_page) { - struct objhead *info = (struct objhead *)(page->addr + PREFIX_SIZE); + struct objhead *info = (struct objhead *)(NUM(page->addr) + PREFIX_SIZE); if(info->btc_mark == old_btc_mark) { info->btc_mark = new_btc_mark;