some of these were indeed serious
thanks
On Mon, 1 Jul 2013 01:40:21 +0200 Roland Mainz 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...
> ----
> 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