On Mon, Jul 1, 2013 at 1:40 AM, Roland Mainz <[email protected]> wrote: > 2013/6/28 Glenn Fowler <[email protected]>: >> >> the AT&T Software Technology ast alpha 2013-06-28 source release >> has been posted to the download site >> http://www.research.att.com/sw/download/alpha/ >> the package names and md5 checksums are >> INIT eddbf89d061348519d86f2618b708a94 >> ast-base a745a7d4ce6f53c2e4134af4cc835ff7 >> ast-open fdb74839ff041e34c800c333188a050e >> ast-ksh 8f22428cf30af7146bd210664c2fd166 >> the md5 sums should match the ones listed on the download page > > Below are some warnings (mostly from the new vmalloc+aso+one from > strsort.c) from the "clang" compiler building ast-ksh.2013-06-28 on > SuSE 12.3/AMD64/64bit. > > Note that some of them look like *serious* troublemakers: > -- snip -- > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/string/strsort.c:75:18: > warning: comparison of unsigned expression >= 0 is always true > [-Wtautological-compare] > for (i = j; i >= 0; i -= m) > ~ ^ ~ > 1 warning generated. > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/string/fmtbuf.c:64:11: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'char *' [-Wint-conversion] > } while (asocasptr(&nxt, cur, tst + n) != cur); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/string/fmtbuf.c:64:11: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'char *' [-Wint-conversion] > } while (asocasptr(&nxt, cur, tst + n) != cur); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > 2 warnings generated. > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/cdt/dtrehash.c:191:2: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Dtlink_t *' (aka 'struct > _dtlink_s *') [-Wint-conversion] > asocasptr(lnkp, lnk, NIL(Dtlink_t*) ); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/cdt/dtrehash.c:191:2: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Dtlink_t *' (aka 'struct > _dtlink_s *') [-Wint-conversion] > asocasptr(lnkp, lnk, NIL(Dtlink_t*) ); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/cdt/dtrehash.c:703:3: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Dtlink_t *' (aka 'struct > _dtlink_s *') [-Wint-conversion] > asocasptr(tbl->list+hshp, opnt->pobj, (Dtlink_t*)opnt); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/cdt/dtrehash.c:703:3: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Dtlink_t *' (aka 'struct > _dtlink_s *') [-Wint-conversion] > asocasptr(tbl->list+hshp, opnt->pobj, (Dtlink_t*)opnt); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/cdt/dtrehash.c:711:3: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Dtlink_t *' (aka 'struct > _dtlink_s *') [-Wint-conversion] > asocasptr(lnkp, NIL(Dtlink_t*), lnk); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/cdt/dtrehash.c:711:3: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Dtlink_t *' (aka 'struct > _dtlink_s *') [-Wint-conversion] > asocasptr(lnkp, NIL(Dtlink_t*), lnk); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > 6 warnings generated. > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/sfio/sfmode.c:408:45: > warning: comparison of constant 4096 with expression of type 'unsigned > char' is always false [-Wtautological-constant-out-of-range-compare] > if((f->bits&SF_MMAP) && (f->tiny[0] += 1) >= (4*SF_NMAP) ) > ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~ > 1 warning generated. > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:263:6: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(asocasptr(listp, head, blk) == head ) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:263:6: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(asocasptr(listp, head, blk) == head ) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:268:54: > warning: signed shift result (0xFFFF000000) requires 41 bits to > represent, but 'int' only has 32 bits [-Wshift-overflow] > (*_Vmtrace)(vm, (Vmuchar_t*)data, NIL(Vmuchar_t*), > TRUESIZE(sz) , 0); > > ^~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:315:44: > note: expanded from macro 'TRUESIZE' > #define TRUESIZE(z) ((z) & (((z)&SMALL) ? ~SMBITS : ~BITS) ) > ^~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:312:25: > note: expanded from macro 'SMBITS' > #define SMBITS (BITS | SMENCODE(0xffff) ) /* bits not > related to size */ > ^~~~~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:310:26: > note: expanded from macro 'SMENCODE' > #define SMENCODE(i) ((i) << 24) /* code index > of a small block */ > ~~~ ^ ~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:281:13: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > if((pack = asocasptr(&best->pack[ppos], NIL(Pack_t*), > PK_INITIALIZING)) != NIL(Pack_t*) ) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:281:13: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > if((pack = asocasptr(&best->pack[ppos], NIL(Pack_t*), > PK_INITIALIZING)) != NIL(Pack_t*) ) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:297:3: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > asocasptr(&best->pack[ppos], PK_INITIALIZING, NIL(Pack_t*)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:297:3: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > asocasptr(&best->pack[ppos], PK_INITIALIZING, NIL(Pack_t*)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:326:2: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > asocasptr(&best->list[lpos], NIL(Pack_t*), pack); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:326:2: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > asocasptr(&best->list[lpos], NIL(Pack_t*), pack); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:329:2: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > asocasptr(&best->pack[ppos], PK_INITIALIZING, pack); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:329:2: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Pack_t *' (aka 'struct > _pack_s *') [-Wint-conversion] > asocasptr(&best->pack[ppos], PK_INITIALIZING, pack); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:465:6: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(asocasptr(listp, list, NIL(Block_t*)) == list) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:465:6: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(asocasptr(listp, list, NIL(Block_t*)) == list) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:675:30: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(!(blk = small->free) || asocasptr(&small->free, > blk, LINK(blk)) == blk ) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:675:30: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(!(blk = small->free) || asocasptr(&small->free, > blk, LINK(blk)) == blk ) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:696:8: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(asocasptr(&small->free, head, list) == > head) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:696:8: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Block_t *' (aka 'struct > _block_s *') [-Wint-conversion] > if(asocasptr(&small->free, head, list) == > head) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:788:29: > warning: signed shift result (0xFFFF000000) requires 41 bits to > represent, but 'int' only has 32 bits [-Wshift-overflow] > memset((Void_t*)rsdt, 0, TRUEBDSZ(rp)); > ^~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:316:40: > note: expanded from macro 'TRUEBDSZ' > #define TRUEBDSZ(b) ((SIZE(b)&SMALL) ? SMBDSZ(b) : BDSZ(b)) > ^~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:314:31: > note: expanded from macro 'SMBDSZ' > #define SMBDSZ(b) (SIZE(b) & ~SMBITS) /* size of small block */ > ^~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:312:25: > note: expanded from macro 'SMBITS' > #define SMBITS (BITS | SMENCODE(0xffff) ) /* bits not > related to size */ > ^~~~~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:310:26: > note: expanded from macro 'SMENCODE' > #define SMENCODE(i) ((i) << 24) /* code index > of a small block */ > ~~~ ^ ~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:803:9: > warning: signed shift result (0xFFFF000000) requires 41 bits to > represent, but 'int' only has 32 bits [-Wshift-overflow] > oldz = TRUEBDSZ(rp); > ^~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:316:40: > note: expanded from macro 'TRUEBDSZ' > #define TRUEBDSZ(b) ((SIZE(b)&SMALL) ? SMBDSZ(b) : BDSZ(b)) > ^~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:314:31: > note: expanded from macro 'SMBDSZ' > #define SMBDSZ(b) (SIZE(b) & ~SMBITS) /* size of small block */ > ^~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:312:25: > note: expanded from macro 'SMBITS' > #define SMBITS (BITS | SMENCODE(0xffff) ) /* bits not > related to size */ > ^~~~~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:310:26: > note: expanded from macro 'SMENCODE' > #define SMENCODE(i) ((i) << 24) /* code index > of a small block */ > ~~~ ^ ~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:986:43: > warning: signed shift result (0xFFFF000000) requires 41 bits to > represent, but 'int' only has 32 bits [-Wshift-overflow] > for(endbp = ENDB(sgb); bp < endbp; bp = TRUENEXT(bp) ) > ^~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:317:50: > note: expanded from macro 'TRUENEXT' > #define TRUENEXT(b) ((Block_t*)((b)->body.data + TRUEBDSZ(b)) ) > ^~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:316:40: > note: expanded from macro 'TRUEBDSZ' > #define TRUEBDSZ(b) ((SIZE(b)&SMALL) ? SMBDSZ(b) : BDSZ(b)) > ^~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:314:31: > note: expanded from macro 'SMBDSZ' > #define SMBDSZ(b) (SIZE(b) & ~SMBITS) /* size of small block */ > ^~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:312:25: > note: expanded from macro 'SMBITS' > #define SMBITS (BITS | SMENCODE(0xffff) ) /* bits not > related to size */ > ^~~~~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:310:26: > note: expanded from macro 'SMENCODE' > #define SMENCODE(i) ((i) << 24) /* code index > of a small block */ > ~~~ ^ ~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:991:9: > warning: signed shift result (0xFFFF000000) requires 41 bits to > represent, but 'int' only has 32 bits [-Wshift-overflow] > sz = TRUEBDSZ(bp); /**/DEBUG_ASSERT(sz < BDSZ(sgb)); > ^~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:316:40: > note: expanded from macro 'TRUEBDSZ' > #define TRUEBDSZ(b) ((SIZE(b)&SMALL) ? SMBDSZ(b) : BDSZ(b)) > ^~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:314:31: > note: expanded from macro 'SMBDSZ' > #define SMBDSZ(b) (SIZE(b) & ~SMBITS) /* size of small block */ > ^~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:312:25: > note: expanded from macro 'SMBITS' > #define SMBITS (BITS | SMENCODE(0xffff) ) /* bits not > related to size */ > ^~~~~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:310:26: > note: expanded from macro 'SMENCODE' > #define SMENCODE(i) ((i) << 24) /* code index > of a small block */ > ~~~ ^ ~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmbest.c:1024:11: > warning: signed shift result (0xFFFF000000) requires 41 bits to > represent, but 'int' only has 32 bits [-Wshift-overflow] > { sz = SMBDSZ(bp); > ^~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:314:31: > note: expanded from macro 'SMBDSZ' > #define SMBDSZ(b) (SIZE(b) & ~SMBITS) /* size of small block */ > ^~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:312:25: > note: expanded from macro 'SMBITS' > #define SMBITS (BITS | SMENCODE(0xffff) ) /* bits not > related to size */ > ^~~~~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmhdr.h:310:26: > note: expanded from macro 'SMENCODE' > #define SMENCODE(i) ((i) << 24) /* code index > of a small block */ > ~~~ ^ ~~ > 22 warnings generated. > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmdebug.c:388:8: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Free_t *' (aka 'struct > _free_s *') [-Wint-conversion] > if (asocasptr(&vm->data->delay, list, item) == > (void*)list) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmdebug.c:388:8: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Free_t *' (aka 'struct > _free_s *') [-Wint-conversion] > if (asocasptr(&vm->data->delay, list, item) == > (void*)list) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmdebug.c:420:51: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Free_t *' (aka 'struct > _free_s *') [-Wint-conversion] > if(!list && (rv || !(list = vm->data->delay) || > asocasptr(&vm->data->delay, list, NIL(Free_t*)) != list)) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:64: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmdebug.c:420:51: > warning: incompatible integer to pointer conversion passing 'uint64_t' > (aka 'unsigned long') to parameter of type 'Free_t *' (aka 'struct > _free_s *') [-Wint-conversion] > if(!list && (rv || !(list = vm->data->delay) || > asocasptr(&vm->data->delay, list, NIL(Free_t*)) != list)) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./ast_aso.h:92:78: note: expanded from macro 'asocasptr' > #define asocasptr(p,o,n) > ((__V_*)__sync_val_compare_and_swap(p,(uint64_t)(o),(uint64_t)(n))) > > ^~~~~~~~~~~~~ > 4 warnings generated. > /home/test001/work/ast_ksh_20130628/build_i386_64bit_opt_patched_clang/src/lib/libast/vmalloc/vmtrace.c:125:14: > warning: comparison of unsigned expression >= 0 is always true > [-Wtautological-compare] > if(threadid >= 0) > ~~~~~~~~ ^ ~ > 1 warning generated. > -- snip -- > > AFAIK most disturbing are the issues with "[-Wshift-overflow]" > followed by the usual "[-Wtautological-compare]" issues...
Erm... Phong: ping! ... did you see the email about yet ? ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) [email protected] \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;) _______________________________________________ ast-developers mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-developers
