Changeset: 38db4b711cfa for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=38db4b711cfa
Modified Files:
        gdk/gdk.h
Branch: Jan2014
Log Message:

merged


diffs (23 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1936,13 +1936,16 @@ gdk_export BBPrec *BBP[N_BBPINIT];
 #define BBPcurstamp()  BBP_curstamp
 #define BBPrefs(i)     (BBPcheck((i),"BBPrefs")?BBP_refs(i):-1)
 #define BBPcache(i)    (BBPcheck((i),"BBPcache")?BBP_cache(i):(BAT*) NULL)
+/* we use ABS(i) instead of -(i) here because of a bug in gcc 4.8.2
+ * (at least) with optimization enabled; it incorrectly complains
+ * about an array bound error in monetdb5/modules/kernel/status.c */
 #define BBPname(i)                                                     \
        (BBPcheck((i), "BBPname") ?                                     \
         ((i) > 0 ?                                                     \
          BBP[(i) >> BBPINITLOG][(i) & (BBPINIT - 1)].logical[0] :      \
-         (BBP[-(i) >> BBPINITLOG][-(i) & (BBPINIT - 1)].logical[1] ?   \
-          BBP[-(i) >> BBPINITLOG][-(i) & (BBPINIT - 1)].logical[1] :   \
-          BBP[-(i) >> BBPINITLOG][-(i) & (BBPINIT - 1)].logical[0])) : \
+         (BBP[ABS(i) >> BBPINITLOG][ABS(i) & (BBPINIT - 1)].logical[1] ? \
+          BBP[ABS(i) >> BBPINITLOG][ABS(i) & (BBPINIT - 1)].logical[1] : \
+          BBP[ABS(i) >> BBPINITLOG][ABS(i) & (BBPINIT - 1)].logical[0])) : \
         "")
 #define BBPvalid(i)    (BBP_logical(i) != NULL && *BBP_logical(i) != '.')
 #define BATgetId(b)    BBPname((b)->batCacheid)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to