From 5e1066170e7f0a0a192ecdbd18b35835a9b835d0 Mon Sep 17 00:00:00 2001 From: Abdulaziz Ghuloum Date: Mon, 6 Apr 2009 16:24:12 +0300 Subject: [PATCH] changed definition of ref in order to work around a bug in gcc-4.2.2 at -O3 that was computing incorrect addresses for ref(x, -n). --- scheme/last-revision | 2 +- src/ikarus-data.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scheme/last-revision b/scheme/last-revision index c3c19a3..cfdfb83 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1749 +1750 diff --git a/src/ikarus-data.h b/src/ikarus-data.h index a0602b6..74a3828 100644 --- a/src/ikarus-data.h +++ b/src/ikarus-data.h @@ -249,7 +249,7 @@ long long extract_num_longlong(ikptr x); #define is_fixnum(x) ((((unsigned long)(x)) & fx_mask) == 0) #define ref(x,n) \ - (((ikptr*)(((char*)(long int)(x)) + ((long int)(n))))[0]) + (((ikptr*)(((long int)(x)) + ((long int)(n))))[0]) #define tagof(x) (((int)(x)) & 7)