Changeset: ff2d010e74da for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ff2d010e74da
Modified Files:
gdk/gdk_bbp.c
monetdb5/mal/mal_type.h
monetdb5/modules/mal/remote.c
monetdb5/optimizer/opt_aliases.h
monetdb5/optimizer/opt_commonTerms.h
monetdb5/optimizer/opt_constants.h
monetdb5/optimizer/opt_costModel.h
monetdb5/optimizer/opt_dataflow.h
monetdb5/optimizer/opt_deadcode.h
monetdb5/optimizer/opt_emptySet.h
monetdb5/optimizer/opt_evaluate.h
monetdb5/optimizer/opt_factorize.h
monetdb5/optimizer/opt_garbageCollector.h
monetdb5/optimizer/opt_generator.h
monetdb5/optimizer/opt_inline.h
monetdb5/optimizer/opt_json.h
monetdb5/optimizer/opt_macro.h
monetdb5/optimizer/opt_matpack.h
monetdb5/optimizer/opt_mergetable.h
monetdb5/optimizer/opt_octopus.c
monetdb5/optimizer/opt_octopus.h
monetdb5/optimizer/opt_pushranges.h
monetdb5/optimizer/opt_qep.h
monetdb5/optimizer/opt_recycler.h
sql/backends/monet5/datacell/opt_datacell.h
Branch: Oct2014
Log Message:
Fixed a bunch of issues found by Solaris Studio compiler.
Note, 1 << 31 is undefined in C with 32-bit int.
diffs (truncated from 349 to 300 lines):
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2658,7 +2658,7 @@ typedef struct {
#endif
} bbptrim_t;
-static int lastused[BBPMAXTRIM]; /* bat lastused stamp; sort on this field */
+static unsigned lastused[BBPMAXTRIM]; /* bat lastused stamp; sort on this
field */
static bbptrim_t bbptrim[BBPMAXTRIM];
static int bbptrimfirst = BBPMAXTRIM, bbptrimlast = 0, bbpunloadtail,
bbpunload, bbptrimmax = BBPMAXTRIM, bbpscanstart = 1;
@@ -2683,7 +2683,7 @@ BBPtrim_scan(bat bbppos, bat bbplim)
* higher for small bats
*/
BUN cnt = BATcount(b);
- int swap_first = (cnt >= BBPSMALLBAT);
+ unsigned swap_first = (cnt >=
BBPSMALLBAT);
/* however, when we are
* looking to decrease the
@@ -2696,7 +2696,7 @@ BBPtrim_scan(bat bbppos, bat bbplim)
/* subtract 2-billion to make
* sure the swap_first class
* bats are unloaded first */
- lastused[bbptrimlast] =
BBPLASTUSED(BBP_lastused(bbppos)) | (swap_first << 31);
+ lastused[bbptrimlast] = (unsigned)
BBPLASTUSED(BBP_lastused(bbppos)) | (swap_first << 31);
bbptrim[bbptrimlast].bid = bbppos;
bbptrim[bbptrimlast].cnt = cnt;
if (++bbptrimlast == bbptrimmax)
@@ -2709,10 +2709,11 @@ BBPtrim_scan(bat bbppos, bat bbplim)
if (bbptrimlast > 0) {
int i;
+ /* sort lastused array as (signed) int */
GDKqsort(lastused, bbptrim, NULL, bbptrimlast,
sizeof(lastused[0]), sizeof(bbptrim[0]), TYPE_int);
for (i = bbptrimfirst = 0; i < bbptrimlast; i++) {
- MEMDEBUG THRprintf(GDKstdout, "#TRIMSCAN: %11d%c
%9d=%s\t(#" BUNFMT ")\n", BBPLASTUSED(lastused[i]), (lastused[i] & (1 << 31)) ?
'*' : ' ', i, BBPname(bbptrim[i].bid), bbptrim[i].cnt);
+ MEMDEBUG THRprintf(GDKstdout, "#TRIMSCAN: %11d%c
%9d=%s\t(#" BUNFMT ")\n", (int) BBPLASTUSED(lastused[i]), lastused[i] &
((unsigned) 1 << 31) ? '*' : ' ', i, BBPname(bbptrim[i].bid), bbptrim[i].cnt);
bbptrim[i].next = i + 1;
}
@@ -2741,7 +2742,7 @@ BBPtrim_select(size_t target, int dirty)
while (next != BBPMAXTRIM) {
int cur = next; /* cur is the entry in the old bbptrimlist we
are processing */
- int untouched = BBPLASTUSED(BBP_lastused(bbptrim[cur].bid)) <=
BBPLASTUSED(lastused[cur]);
+ int untouched = BBPLASTUSED(BBP_lastused(bbptrim[cur].bid)) <=
(int) BBPLASTUSED(lastused[cur]);
BAT *b = BBP_cache(bbptrim[cur].bid);
next = bbptrim[cur].next; /* do now, because we overwrite
bbptrim[cur].next below */
@@ -2763,8 +2764,8 @@ BBPtrim_select(size_t target, int dirty)
VIEWhparent(b),
VIEWtparent(b),
BBP_lastused(b->batCacheid),
- BBPLASTUSED(lastused[cur]),
- lastused[cur]);
+ (int) BBPLASTUSED(lastused[cur]),
+ (int) lastused[cur]);
}
/* recheck if conditions encountered by trimscan in
* the past still hold */
@@ -2950,8 +2951,8 @@ BBPtrim(size_t target)
continue;
}
MEMDEBUG THRprintf(GDKstdout, "#BBPTRIM: %8d%c %7d
%s\n",
- BBPLASTUSED(lastused[i]),
- lastused[i] & (1 << 31) ? '*' : ' ',
+ (int) BBPLASTUSED(lastused[i]),
+ lastused[i] & ((unsigned) 1 << 31) ?
'*' : ' ',
(int) bbptrim[i].bid,
BBPname(bbptrim[i].bid));
diff --git a/monetdb5/mal/mal_type.h b/monetdb5/mal/mal_type.h
--- a/monetdb5/mal/mal_type.h
+++ b/monetdb5/mal/mal_type.h
@@ -42,11 +42,6 @@
/* introduce gradually the column type macros, sharing the
* representation with BAT type
*/
-#define newColumn(Var,Type,Tag, ...)
\
- Var = BATnew(TYPE_void, Type, 0, TRANSIENT);
\
- if ( Var == NULL) { __VA_ARGS__ ;throw(MAL,Tag,MAL_MALLOC_FAIL);}
\
- BATseqbase(Var,0);
-
#define newColumnType(T) (1<<16 | (T & 0377) )
#define getColumnType(X) ((X) & 0377 )
#define isaColumnType(X) ((1<<16) & (X) && (X)!= TYPE_any)
diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c
--- a/monetdb5/modules/mal/remote.c
+++ b/monetdb5/modules/mal/remote.c
@@ -85,6 +85,11 @@ static unsigned char localtype = 0;
static inline str RMTquery(MapiHdl *ret, str func, Mapi conn, str query);
static inline str RMTinternalcopyfrom(BAT **ret, char *hdr, stream *in);
+#define newColumn(Var,Type,Tag)
\
+ Var = BATnew(TYPE_void, Type, 0, TRANSIENT); \
+ if ( Var == NULL) throw(MAL,Tag,MAL_MALLOC_FAIL); \
+ BATseqbase(Var,0);
+
/**
* Returns a BAT with valid redirects for the given pattern. If
* merovingian is not running, this function throws an error.
diff --git a/monetdb5/optimizer/opt_aliases.h b/monetdb5/optimizer/opt_aliases.h
--- a/monetdb5/optimizer/opt_aliases.h
+++ b/monetdb5/optimizer/opt_aliases.h
@@ -27,5 +27,5 @@ opt_export int OPTisAlias(InstrPtr p);
opt_export void OPTaliasRemap(InstrPtr p, int *alias);
opt_export int OPTaliasesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr p);
-#define OPTDEBUGaliases if ( optDebug & (1 <<DEBUG_OPT_ALIASES) )
+#define OPTDEBUGaliases if ( optDebug & ((lng) 1 <<DEBUG_OPT_ALIASES) )
#endif
diff --git a/monetdb5/optimizer/opt_commonTerms.h
b/monetdb5/optimizer/opt_commonTerms.h
--- a/monetdb5/optimizer/opt_commonTerms.h
+++ b/monetdb5/optimizer/opt_commonTerms.h
@@ -26,6 +26,6 @@
opt_export int OPTcommonTermsImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr pci);
/* #define DEBUG_OPT_COMMONTERMS_MORE */
-#define OPTDEBUGcommonTerms if ( optDebug & (1 <<DEBUG_OPT_COMMONTERMS) )
+#define OPTDEBUGcommonTerms if ( optDebug & ((lng) 1 <<DEBUG_OPT_COMMONTERMS)
)
#endif
diff --git a/monetdb5/optimizer/opt_constants.h
b/monetdb5/optimizer/opt_constants.h
--- a/monetdb5/optimizer/opt_constants.h
+++ b/monetdb5/optimizer/opt_constants.h
@@ -25,6 +25,6 @@
opt_export int OPTconstantsImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr p);
-#define OPTDEBUGconstants if ( optDebug & (1 <<DEBUG_OPT_CONSTANTS) )
+#define OPTDEBUGconstants if ( optDebug & ((lng) 1 <<DEBUG_OPT_CONSTANTS) )
#endif
diff --git a/monetdb5/optimizer/opt_costModel.h
b/monetdb5/optimizer/opt_costModel.h
--- a/monetdb5/optimizer/opt_costModel.h
+++ b/monetdb5/optimizer/opt_costModel.h
@@ -29,6 +29,6 @@
opt_export int OPTcostModelImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr pci);
-#define OPTDEBUGcostModel if ( optDebug & (1 <<DEBUG_OPT_COSTMODEL) )
+#define OPTDEBUGcostModel if ( optDebug & ((lng) 1 <<DEBUG_OPT_COSTMODEL) )
#endif /* _OPT_COSTMODEL_H_ */
diff --git a/monetdb5/optimizer/opt_dataflow.h
b/monetdb5/optimizer/opt_dataflow.h
--- a/monetdb5/optimizer/opt_dataflow.h
+++ b/monetdb5/optimizer/opt_dataflow.h
@@ -22,7 +22,7 @@
#include "opt_prelude.h"
#include "opt_support.h"
-#define OPTDEBUGdataflow if ( optDebug & (1 <<DEBUG_OPT_DATAFLOW) )
+#define OPTDEBUGdataflow if ( optDebug & ((lng) 1 <<DEBUG_OPT_DATAFLOW) )
opt_export void removeDataflow(MalBlkPtr mb);
opt_export int OPTdataflowImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr p);
diff --git a/monetdb5/optimizer/opt_deadcode.h
b/monetdb5/optimizer/opt_deadcode.h
--- a/monetdb5/optimizer/opt_deadcode.h
+++ b/monetdb5/optimizer/opt_deadcode.h
@@ -27,6 +27,6 @@
opt_export int OPTdeadcodeImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr pci);
-#define OPTDEBUGdeadcode if ( optDebug & (1 <<DEBUG_OPT_DEADCODE) )
+#define OPTDEBUGdeadcode if ( optDebug & ((lng) 1 <<DEBUG_OPT_DEADCODE) )
#endif
diff --git a/monetdb5/optimizer/opt_emptySet.h
b/monetdb5/optimizer/opt_emptySet.h
--- a/monetdb5/optimizer/opt_emptySet.h
+++ b/monetdb5/optimizer/opt_emptySet.h
@@ -24,6 +24,6 @@
opt_export int OPTemptySetImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr p);
-#define OPTDEBUGemptySet if ( optDebug & (1 <<DEBUG_OPT_EMPTYSET) )
+#define OPTDEBUGemptySet if ( optDebug & ((lng) 1 <<DEBUG_OPT_EMPTYSET) )
#endif
diff --git a/monetdb5/optimizer/opt_evaluate.h
b/monetdb5/optimizer/opt_evaluate.h
--- a/monetdb5/optimizer/opt_evaluate.h
+++ b/monetdb5/optimizer/opt_evaluate.h
@@ -26,6 +26,6 @@
opt_export int OPTevaluateImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr pci);
-#define OPTDEBUGevaluate if ( optDebug & (1 <<DEBUG_OPT_EVALUATE) )
+#define OPTDEBUGevaluate if ( optDebug & ((lng) 1 <<DEBUG_OPT_EVALUATE) )
#endif
diff --git a/monetdb5/optimizer/opt_factorize.h
b/monetdb5/optimizer/opt_factorize.h
--- a/monetdb5/optimizer/opt_factorize.h
+++ b/monetdb5/optimizer/opt_factorize.h
@@ -24,6 +24,6 @@
opt_export int OPTfactorizeImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr pci);
-#define OPTDEBUGfactorize if ( optDebug & (1 <<DEBUG_OPT_FACTORIZE) )
+#define OPTDEBUGfactorize if ( optDebug & ((lng) 1 <<DEBUG_OPT_FACTORIZE) )
#endif
diff --git a/monetdb5/optimizer/opt_garbageCollector.h
b/monetdb5/optimizer/opt_garbageCollector.h
--- a/monetdb5/optimizer/opt_garbageCollector.h
+++ b/monetdb5/optimizer/opt_garbageCollector.h
@@ -23,6 +23,6 @@
opt_export int OPTgarbageCollectorImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr pci);
-#define OPTDEBUGgarbageCollector if ( optDebug & (1 <<DEBUG_OPT_GARBAGE) )
+#define OPTDEBUGgarbageCollector if ( optDebug & ((lng) 1
<<DEBUG_OPT_GARBAGE) )
#endif
diff --git a/monetdb5/optimizer/opt_generator.h
b/monetdb5/optimizer/opt_generator.h
--- a/monetdb5/optimizer/opt_generator.h
+++ b/monetdb5/optimizer/opt_generator.h
@@ -27,6 +27,6 @@
opt_export int OPTgeneratorImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr pci);
-#define OPTDEBUGgenerator if ( optDebug & (1 <<DEBUG_OPT_GENERATOR) )
+#define OPTDEBUGgenerator if ( optDebug & ((lng) 1 <<DEBUG_OPT_GENERATOR) )
#endif
diff --git a/monetdb5/optimizer/opt_inline.h b/monetdb5/optimizer/opt_inline.h
--- a/monetdb5/optimizer/opt_inline.h
+++ b/monetdb5/optimizer/opt_inline.h
@@ -26,6 +26,6 @@
opt_export int OPTinlineImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr p);
-#define OPTDEBUGinline if ( optDebug & (1 <<DEBUG_OPT_INLINE) )
+#define OPTDEBUGinline if ( optDebug & ((lng) 1 <<DEBUG_OPT_INLINE) )
#endif
diff --git a/monetdb5/optimizer/opt_json.h b/monetdb5/optimizer/opt_json.h
--- a/monetdb5/optimizer/opt_json.h
+++ b/monetdb5/optimizer/opt_json.h
@@ -29,6 +29,6 @@ opt_export int OPTjsonImplementation(Cli
/* #define _DEBUG_OPT_JSON_ */
#undef DEBUG_OPT_JSON
#define DEBUG_OPT_JSON 1
-#define OPTDEBUGjson if ( optDebug & (1 <<DEBUG_OPT_JSON) )
+#define OPTDEBUGjson if ( optDebug & ((lng) 1 <<DEBUG_OPT_JSON) )
#endif
diff --git a/monetdb5/optimizer/opt_macro.h b/monetdb5/optimizer/opt_macro.h
--- a/monetdb5/optimizer/opt_macro.h
+++ b/monetdb5/optimizer/opt_macro.h
@@ -27,7 +27,7 @@ opt_export int OPTorcamImplementation(Cl
opt_export str OPTmacro(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
opt_export str OPTorcam(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
-#define OPTDEBUGmacro if ( optDebug & (1 <<DEBUG_OPT_MACRO) )
-#define OPTDEBUGorcam if ( optDebug & (1 <<DEBUG_OPT_ORCAM) )
+#define OPTDEBUGmacro if ( optDebug & ((lng) 1 <<DEBUG_OPT_MACRO) )
+#define OPTDEBUGorcam if ( optDebug & ((lng) 1 <<DEBUG_OPT_ORCAM) )
#endif /* _MAL_MACRO_H_ */
diff --git a/monetdb5/optimizer/opt_matpack.h b/monetdb5/optimizer/opt_matpack.h
--- a/monetdb5/optimizer/opt_matpack.h
+++ b/monetdb5/optimizer/opt_matpack.h
@@ -30,6 +30,6 @@ opt_export int OPTmatpackImplementation(
/* #define _DEBUG_OPT_MATPACK_ */
#undef DEBUG_OPT_MATPACK
#define DEBUG_OPT_MATPACK 1
-#define OPTDEBUGmatpack if ( optDebug & (1 <<DEBUG_OPT_MATPACK) )
+#define OPTDEBUGmatpack if ( optDebug & ((lng) 1 <<DEBUG_OPT_MATPACK) )
#endif
diff --git a/monetdb5/optimizer/opt_mergetable.h
b/monetdb5/optimizer/opt_mergetable.h
--- a/monetdb5/optimizer/opt_mergetable.h
+++ b/monetdb5/optimizer/opt_mergetable.h
@@ -26,6 +26,6 @@
opt_export int OPTmergetableImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr p);
-#define OPTDEBUGmergetable if ( optDebug & (1 <<DEBUG_OPT_MERGETABLE) )
+#define OPTDEBUGmergetable if ( optDebug & ((lng) 1 <<DEBUG_OPT_MERGETABLE) )
#endif
diff --git a/monetdb5/optimizer/opt_octopus.c b/monetdb5/optimizer/opt_octopus.c
--- a/monetdb5/optimizer/opt_octopus.c
+++ b/monetdb5/optimizer/opt_octopus.c
@@ -990,7 +990,7 @@ OPToctopusImplementation(Client cntxt, M
(void) stk;
- optDebug |= 1 << DEBUG_OPT_OCTOPUS;
+ optDebug |= (lng) 1 << DEBUG_OPT_OCTOPUS;
OPTDEBUGoctopus{
mnstr_printf(cntxt->fdout, "#Octopus optimizer called\n");
chkProgram(cntxt->fdout, cntxt->nspace,mb);
diff --git a/monetdb5/optimizer/opt_octopus.h b/monetdb5/optimizer/opt_octopus.h
--- a/monetdb5/optimizer/opt_octopus.h
+++ b/monetdb5/optimizer/opt_octopus.h
@@ -27,6 +27,6 @@ opt_export str OPTlegAdvice(Client cntxt
opt_export int OPTlegAdviceInternal(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
opt_export int OPToctopusImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr pci);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list