Changeset: e7f4673ec8fc for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e7f4673ec8fc Modified Files: gdk/gdk.h gdk/gdk_join_legacy.c gdk/gdk_sample.c gdk/gdk_select_legacy.c Branch: default Log Message:
Complain about usage of legacy functions. Only do so in debug build with gcc. diffs (182 lines): diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -3348,4 +3348,130 @@ gdk_export BAT *BATsample_(BAT *b, BUN n #define ILLEGALVALUE ((ptr)-1L) #define MAXPARAMS 32 +#ifndef NDEBUG +#ifdef __GNUC__ /* need GNU C for __func__ macro */ +/* in debug builds, complain (warn) about usage of legacy functions */ + +#define BATselect_(b, h, t, li, hi) \ + ( \ + fprintf(stderr, \ + "#BATselect_ %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATselect_((b), (h), (t), (li), (hi)) \ + ) + +#define BATuselect_(b, h, t, li, hi) \ + ( \ + fprintf(stderr, \ + "#BATuselect_ %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATuselect_((b), (h), (t), (li), (hi)) \ + ) + +#define BATantiuselect_(b, h, t, li, hi) \ + ( \ + fprintf(stderr, \ + "#BATantiuselect_ %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATantiuselect_((b), (h), (t), (li), (hi)) \ + ) + +#define BATselect(b, h, t) \ + ( \ + fprintf(stderr, \ + "#BATselect %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATselect((b), (h), (t)) \ + ) + +#define BATuselect(b, h, t) \ + ( \ + fprintf(stderr, \ + "#BATuselect %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATuselect((b), (h), (t)) \ + ) + +#define BATsample(b, n) \ + ( \ + fprintf(stderr, \ + "#BATsample %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATsample((b), (n)) \ + ) + +#define BATsemijoin(l, r) \ + ( \ + fprintf(stderr, \ + "#BATsemijoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATsemijoin((l), (r)) \ + ) + +#define BATjoin(l, r, estimate) \ + ( \ + fprintf(stderr, \ + "#BATjoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATjoin((l), (r), (estimate)) \ + ) + +#define BATleftjoin(l, r, estimate) \ + ( \ + fprintf(stderr, \ + "#BATleftjoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATleftjoin((l), (r), (estimate)) \ + ) + +#define BATthetajoin(l, r, op, estimate) \ + ( \ + fprintf(stderr, \ + "#BATthetajoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATthetajoin((l), (r), (op), (estimate)) \ + ) + +#define BATouterjoin(l, r, estimate) \ + ( \ + fprintf(stderr, \ + "#BATouterjoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATouterjoin((l), (r), (estimate)) \ + ) + +#define BATleftfetchjoin(l, r, estimate) \ + ( \ + fprintf(stderr, \ + "#BATleftfetchjoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATleftfetchjoin((l), (r), (estimate)) \ + ) + +#define BATantijoin(l, r) \ + ( \ + fprintf(stderr, \ + "#BATantijoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATantijoin((l), (r)) \ + ) + +#define BATbandjoin(l, r, c1, c2, li, hi) \ + ( \ + fprintf(stderr, \ + "#BATbandjoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATbandjoin((l), (r), (c1), (c2), (li), (hi)) \ + ) + +#define BATrangejoin(l, rl, rh, li, hi) \ + ( \ + fprintf(stderr, \ + "#BATrangejoin %s[%s:%d]\n", \ + __func__, __FILE__, __LINE__), \ + BATrangejoin((l), (rl), (rh), (li), (hi)) \ + ) +#endif +#endif + #endif /* _GDK_H_ */ diff --git a/gdk/gdk_join_legacy.c b/gdk/gdk_join_legacy.c --- a/gdk/gdk_join_legacy.c +++ b/gdk/gdk_join_legacy.c @@ -23,6 +23,16 @@ /* This file contains the legacy interface to the join functions */ +#undef BATsemijoin +#undef BATjoin +#undef BATleftjoin +#undef BATthetajoin +#undef BATouterjoin +#undef BATleftfetchjoin +#undef BATantijoin +#undef BATbandjoin +#undef BATrangejoin + /* Return a subset of l where head elements occur as head element in r. */ BAT * BATsemijoin(BAT *l, BAT *r) diff --git a/gdk/gdk_sample.c b/gdk/gdk_sample.c --- a/gdk/gdk_sample.c +++ b/gdk/gdk_sample.c @@ -27,6 +27,8 @@ #include "gdk.h" #include "gdk_private.h" +#undef BATsample + #define DRAND ((double)rand()/(double)RAND_MAX) /* diff --git a/gdk/gdk_select_legacy.c b/gdk/gdk_select_legacy.c --- a/gdk/gdk_select_legacy.c +++ b/gdk/gdk_select_legacy.c @@ -23,6 +23,12 @@ /* This file contains the legacy interface to the select functions */ +#undef BATselect_ +#undef BATuselect_ +#undef BATantiuselect_ +#undef BATselect +#undef BATuselect + static BAT * BAT_select_(BAT *b, const void *tl, const void *th, bit li, bit hi, bit tail, bit anti, const char *name) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list