Changeset: 579b4860cc63 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=579b4860cc63
Modified Files:
        gdk/gdk_utils.c
        monetdb5/mal/mal.c
Branch: default
Log Message:

Merge with Apr2019 branch.


diffs (87 lines):

diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -1399,7 +1399,7 @@ THRstarter(void *a)
 MT_Id
 THRcreate(void (*f) (void *), void *arg, enum MT_thr_detach d, const char 
*name)
 {
-       MT_Id tid;
+       MT_Id pid;
        Thread s;
        struct THRstart *t;
 
@@ -1419,7 +1419,7 @@ THRcreate(void (*f) (void *), void *arg,
                GDKerror("THRcreate: too many threads\n");
                return 0;
        }
-       tid = s->tid;
+       int tid = s->tid;
        /* name is for debugging and may be NULL */
        *s = (ThreadRec) {
                .pid = ~0,
@@ -1431,7 +1431,7 @@ THRcreate(void (*f) (void *), void *arg,
        MT_lock_unset(&GDKthreadLock);
        t->thr = s;
        MT_sema_init(&t->sem, 0, "THRcreate");
-       if (MT_create_thread(&tid, THRstarter, t, d) != 0) {
+       if (MT_create_thread(&pid, THRstarter, t, d) != 0) {
                GDKerror("THRcreate: could not start thread\n");
                MT_sema_destroy(&t->sem);
                GDKfree(t);
@@ -1442,11 +1442,11 @@ THRcreate(void (*f) (void *), void *arg,
        }
        MT_lock_set(&GDKthreadLock);
        GDKnrofthreads++;
-       s->pid = tid;
+       s->pid = pid;
        MT_lock_unset(&GDKthreadLock);
        /* send new thread on its way */
        MT_sema_up(&t->sem);
-       return tid;
+       return pid;
 }
 
 void
diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -60,27 +60,23 @@ static
 void tstAligned(void)
 {
 #ifdef STRUCT_ALIGNED
-       int allAligned=0;
        ValRecord v;
-       ptr val, base;
-       base = (ptr) & v.val.ival;
-       val= (ptr) & v.val.bval; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.btval; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.shval; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.ival; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.oval; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.pval; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.fval; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.dval; if(val != base){ allAligned = -1; }
-       val= (ptr) & v.val.lval; if(val != base){ allAligned = -1; }
+       static_assert((void *) &v.val.bval == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.btval == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.shval == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.ival == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.oval == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.pval == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.fval == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.dval == (void *) &v.val.ival, 
"misaligned");
+       static_assert((void *) &v.val.lval == (void *) &v.val.ival, 
"misaligned");
 #ifdef HAVE_HGE
-       val= (ptr) & v.val.hval; if(val != base){ allAligned = -1; }
+       static_assert((void *) &v.val.hval == (void *) &v.val.ival, 
"misaligned");
 #endif
-       val= (ptr) & v.val.sval; if(val != base){ allAligned = -1; }
-       if(allAligned<0)
-           GDKfatal("Recompile with STRUCT_ALIGNED flag disabled\n");
+       static_assert((void *) &v.val.sval == (void *) &v.val.ival, 
"misaligned");
 #endif
 }
+
 int mal_init(void){
 #ifdef NEED_MT_LOCK_INIT
        MT_lock_init( &mal_contextLock, "mal_contextLock");
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to