Changeset: 08b989c98acf for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=08b989c98acf
Modified Files:
gdk/gdk.h
Branch: DVframework
Log Message:
Work around a bug in gcc. Applied changeset 50386:9143ed4b6518 Jan2014 as patch.
diffs (23 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1874,13 +1874,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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list