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

Reply via email to