Having just chased around a signedness problem in Helgrind (resulting in r7409) I tried to rebuild with -Wsign-compare in AM_CFLAGS_BASE in Makefile.flags.am. This makes gcc complain whenever a signed and unsigned value are compared.
I fixed a bunch of resulting complaints in hg_wordfm.c, and found it made me more aware of which values should be signed and which should be unsigned. This I think is a good thing -- it removes one more source of potential obscure bugs, at compile time. I'm inclined to add it permanently, but the problem is it causes about 460 lines of warnings, as shown below. I'm sure most of these are trivial and could easily be fixed. Does anybody have any experience with the desirability/usefulness of -Wsign-compare? J Making all in include Making all in vki Making all in coregrind m_execontext.c: In function ‘init_ExeContext_storage’: m_execontext.c:131: warning: comparison between signed and unsigned m_execontext.c: In function ‘vgPlain_eq_ExeContext’: m_execontext.c:183: warning: comparison between signed and unsigned m_execontext.c:183: warning: comparison between signed and unsigned m_execontext.c:184: warning: comparison between signed and unsigned m_execontext.c:184: warning: comparison between signed and unsigned m_execontext.c:185: warning: comparison between signed and unsigned m_execontext.c:185: warning: comparison between signed and unsigned m_execontext.c:194: warning: comparison between signed and unsigned m_execontext.c:194: warning: comparison between signed and unsigned m_execontext.c:195: warning: comparison between signed and unsigned m_execontext.c:195: warning: comparison between signed and unsigned m_execontext.c:196: warning: comparison between signed and unsigned m_execontext.c:196: warning: comparison between signed and unsigned m_execontext.c: In function ‘record_ExeContext_wrk’: m_execontext.c:313: warning: comparison between signed and unsigned m_execontext.c:331: warning: comparison between signed and unsigned m_execontext.c:375: warning: comparison between signed and unsigned m_hashtable.c: In function ‘resize’: m_hashtable.c:124: warning: comparison between signed and unsigned m_hashtable.c: In function ‘vgPlain_HT_Next’: m_hashtable.c:247: warning: comparison between signed and unsigned m_libcbase.c: In function ‘vgPlain_strncpy_safely’: m_libcbase.c:283: warning: comparison between signed and unsigned m_libcbase.c: In function ‘vgPlain_strncpy’: m_libcbase.c:293: warning: comparison between signed and unsigned m_libcbase.c:297: warning: comparison between signed and unsigned m_libcbase.c: In function ‘vgPlain_strncmp’: m_libcbase.c:340: warning: comparison between signed and unsigned m_libcbase.c: In function ‘vgPlain_strncmp_ws’: m_libcbase.c:356: warning: comparison between signed and unsigned m_libcfile.c: In function ‘vgPlain_lseek’: m_libcfile.c:137: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_fcntl’: m_libcfile.c:205: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_get_startup_wd’: m_libcfile.c:281: warning: comparison between signed and unsigned m_libcfile.c: In function ‘vgPlain_readlink’: m_libcfile.c:292: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_getdents’: m_libcfile.c:300: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_check_executable’: m_libcfile.c:376: warning: comparison between signed and unsigned m_libcfile.c:382: warning: comparison between signed and unsigned m_libcfile.c: In function ‘my_socket’: m_libcfile.c:633: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘my_connect’: m_libcfile.c:664: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_write_socket’: m_libcfile.c:695: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_getsockname’: m_libcfile.c:720: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_getpeername’: m_libcfile.c:745: warning: signed and unsigned type in conditional expression m_libcfile.c: In function ‘vgPlain_getsockopt’: m_libcfile.c:774: warning: signed and unsigned type in conditional expression m_libcproc.c: In function ‘vgPlain_waitpid’: m_libcproc.c:230: warning: signed and unsigned type in conditional expression m_libcproc.c: In function ‘vgPlain_getrlimit’: m_libcproc.c:349: warning: signed and unsigned type in conditional expression m_libcproc.c: In function ‘vgPlain_setrlimit’: m_libcproc.c:359: warning: signed and unsigned type in conditional expression m_libcsignal.c: In function ‘vgPlain_sigtimedwait_zero’: m_libcsignal.c:209: warning: signed and unsigned type in conditional expression m_machine.c: In function ‘vgPlain_get_shadow_regs_area’: m_machine.c:91: warning: comparison between signed and unsigned m_machine.c: In function ‘vgPlain_set_shadow_regs_area’: m_machine.c:106: warning: comparison between signed and unsigned m_main.c: In function ‘show_BB_profile’: m_main.c:1003: warning: comparison between signed and unsigned m_main.c:1026: warning: comparison between signed and unsigned m_stacktrace.c: In function ‘vgPlain_get_StackTrace2’: m_stacktrace.c:205: warning: comparison between signed and unsigned m_stacktrace.c: In function ‘vgPlain_apply_StackTrace’: m_stacktrace.c:520: warning: comparison between signed and unsigned m_syscall.c: In function ‘vgPlain_mk_SysRes_x86_linux’: m_syscall.c:61: warning: comparison between signed and unsigned m_syscall.c:61: warning: comparison between signed and unsigned m_syscall.c: In function ‘vgPlain_mk_SysRes_amd64_linux’: m_syscall.c:75: warning: comparison between signed and unsigned m_syscall.c:75: warning: comparison between signed and unsigned m_translate.c: In function ‘vgPlain_translate’: m_translate.c:1292: warning: comparison between signed and unsigned m_transtab.c: In function ‘vgPlain_add_to_transtab’: m_transtab.c:915: warning: comparison between signed and unsigned m_transtab.c: In function ‘sanity_check_redir_tt_tc’: m_transtab.c:1340: warning: comparison between signed and unsigned m_transtab.c: In function ‘vgPlain_add_to_unredir_transtab’: m_transtab.c:1371: warning: comparison between signed and unsigned m_transtab.c:1378: warning: comparison between signed and unsigned m_transtab.c:1380: warning: comparison between signed and unsigned m_transtab.c:1389: warning: comparison between signed and unsigned m_transtab.c:1400: warning: comparison between signed and unsigned m_transtab.c: In function ‘vgPlain_get_BB_profile’: m_transtab.c:1583: warning: comparison between signed and unsigned m_transtab.c:1613: warning: comparison between signed and unsigned m_transtab.c:1616: warning: comparison between signed and unsigned m_ume.c: In function ‘readelf’: m_ume.c:170: warning: comparison between signed and unsigned m_ume.c: In function ‘match_ELF’: m_ume.c:280: warning: comparison between signed and unsigned m_aspacemgr/aspacemgr-common.c: In function ‘vgModuleLocal_am_read’: m_aspacemgr/aspacemgr-common.c:240: warning: signed and unsigned type in conditional expression m_aspacemgr/aspacemgr-common.c: In function ‘vgModuleLocal_am_readlink’: m_aspacemgr/aspacemgr-common.c:252: warning: signed and unsigned type in conditional expression m_aspacemgr/aspacemgr-common.c: In function ‘vgPlain_am_alloc_VgStack’: m_aspacemgr/aspacemgr-common.c:345: warning: comparison between signed and unsigned m_aspacemgr/aspacemgr-common.c: In function ‘vgPlain_am_get_VgStack_unused_szB’: m_aspacemgr/aspacemgr-common.c:375: warning: comparison between signed and unsigned m_debuginfo/storage.c: In function ‘canonicaliseCFI’: m_debuginfo/storage.c:832: warning: comparison between signed and unsigned m_debuginfo/storage.c:859: warning: comparison between signed and unsigned m_debuginfo/debuginfo.c: In function ‘vgPlain_lookup_symbol_SLOW’: m_debuginfo/debuginfo.c:805: warning: comparison between signed and unsigned m_debuginfo/debuginfo.c: In function ‘vgPlain_use_CF_info’: m_debuginfo/debuginfo.c:1103: warning: comparison between signed and unsigned m_debuginfo/debuginfo.c: In function ‘vgPlain_seginfo_syms_getidx’: m_debuginfo/debuginfo.c:1348: warning: comparison between signed and unsigned m_coredump/coredump-elf.c: In function ‘make_elf_coredump’: m_coredump/coredump-elf.c:427: warning: comparison between signed and unsigned m_syswrap/syswrap-linux.c: In function ‘vgSysWrap_linux_sys_io_getevents_after’: m_syswrap/syswrap-linux.c:1284: warning: comparison between signed and unsigned m_syswrap/syswrap-linux.c: In function ‘vgSysWrap_linux_sys_io_submit_before’: m_syswrap/syswrap-linux.c:1317: warning: comparison between signed and unsigned m_syswrap/syswrap-linux.c: In function ‘vgSysWrap_linux_sys_openat_before’: m_syswrap/syswrap-linux.c:2472: warning: comparison between signed and unsigned m_debuginfo/readdwarf.c: In function ‘index_WordArray’: m_debuginfo/readdwarf.c:120: warning: comparison between signed and unsigned m_debuginfo/readdwarf.c: In function ‘read_dwarf2_lineblock’: m_debuginfo/readdwarf.c:499: warning: comparison between signed and unsigned m_debuginfo/readdwarf.c: In function ‘vgModuleLocal_read_debuginfo_dwarf2’: m_debuginfo/readdwarf.c:1170: warning: comparison between signed and unsigned m_syswrap/syswrap-generic.c: In function ‘vgModuleLocal_record_fd_open_with_given_name’: m_syswrap/syswrap-generic.c:525: warning: comparison between signed and unsigned m_syswrap/syswrap-generic.c: In function ‘do_hacky_preopened’: m_syswrap/syswrap-generic.c:687: warning: comparison between signed and unsigned m_syswrap/syswrap-generic.c: In function ‘vgPlain_init_preopened_fds’: m_syswrap/syswrap-generic.c:714: warning: comparison between signed and unsigned m_syswrap/syswrap-generic.c: In function ‘vgSysWrap_generic_sys_setrlimit_before’: m_syswrap/syswrap-generic.c:5426: warning: comparison between signed and unsigned m_syswrap/syswrap-generic.c:5427: warning: comparison between signed and unsigned Making all in . Making all in tests Making all in perf Making all in auxprogs Making all in memcheck Making all in . mc_leakcheck.c: In function ‘find_active_shadows’: mc_leakcheck.c:621: warning: comparison between signed and unsigned mc_leakcheck.c:630: warning: comparison between signed and unsigned mc_main.c: In function ‘mc_pre_reg_read’: mc_main.c:2598: warning: comparison between signed and unsigned mc_main.c: In function ‘mc_pp_AddrInfo’: mc_main.c:2816: warning: comparison between signed and unsigned mc_main.c: In function ‘mc_error_matches_suppression’: mc_main.c:3530: warning: comparison between signed and unsigned mc_main.c:3541: warning: comparison between signed and unsigned mc_main.c: In function ‘init_shadow_memory’: mc_main.c:4250: warning: comparison between signed and unsigned mc_main.c: In function ‘mc_expensive_sanity_check’: mc_main.c:4334: warning: comparison between signed and unsigned mc_translate.c: In function ‘findShadowTmp’: mc_translate.c:188: warning: comparison between signed and unsigned mc_translate.c: In function ‘newShadowTmp’: mc_translate.c:205: warning: comparison between signed and unsigned mc_translate.c: In function ‘isOriginalAtom’: mc_translate.c:231: warning: comparison between signed and unsigned mc_translate.c: In function ‘isShadowAtom’: mc_translate.c:242: warning: comparison between signed and unsigned priv/ir/irdefs.c: In function ‘ppIRTypeEnv’: priv/ir/irdefs.c:818: warning: comparison between signed and unsigned priv/ir/irdefs.c: In function ‘typeOfIRTemp’: priv/ir/irdefs.c:1882: warning: comparison between signed and unsigned priv/ir/irdefs.c: In function ‘useBeforeDef_Temp’: priv/ir/irdefs.c:2129: warning: comparison between signed and unsigned priv/ir/irdefs.c: In function ‘sanityCheckIRSB’: priv/ir/irdefs.c:2598: warning: comparison between signed and unsigned priv/ir/irdefs.c:2610: warning: comparison between signed and unsigned priv/main/vex_main.c: In function ‘LibVEX_Translate’: priv/main/vex_main.c:470: warning: comparison between signed and unsigned priv/host-amd64/hdefs.c: In function ‘fitsIn32Bits’: priv/host-amd64/hdefs.c:2003: warning: comparison between signed and unsigned priv/host-ppc/hdefs.c: In function ‘getAllocableRegs_PPC’: priv/host-ppc/hdefs.c:281: warning: comparison between signed and unsigned priv/host-ppc/hdefs.c: In function ‘emit_PPCInstr’: priv/host-ppc/hdefs.c:2561: warning: signed and unsigned type in conditional expression priv/host-ppc/hdefs.c:2634: warning: signed and unsigned type in conditional expression priv/host-x86/isel.c: In function ‘lookupIRTemp’: priv/host-x86/isel.c:189: warning: comparison between signed and unsigned priv/host-x86/isel.c: In function ‘lookupIRTemp64’: priv/host-x86/isel.c:196: warning: comparison between signed and unsigned priv/host-amd64/isel.c: In function ‘lookupIRTemp’: priv/host-amd64/isel.c:157: warning: comparison between signed and unsigned priv/host-amd64/isel.c: In function ‘lookupIRTemp128’: priv/host-amd64/isel.c:165: warning: comparison between signed and unsigned priv/host-amd64/isel.c: In function ‘fitsIn32Bits’: priv/host-amd64/isel.c:278: warning: comparison between signed and unsigned priv/host-arm/isel.c: In function ‘lookupIRTemp’: priv/host-arm/isel.c:97: warning: comparison between signed and unsigned priv/host-ppc/isel.c: In function ‘lookupIRTemp’: priv/host-ppc/isel.c:290: warning: comparison between signed and unsigned priv/host-ppc/isel.c: In function ‘lookupIRTempPair’: priv/host-ppc/isel.c:299: warning: comparison between signed and unsigned priv/host-generic/reg_alloc2.c: In function ‘doRegisterAllocation’: priv/host-generic/reg_alloc2.c:994: warning: comparison between signed and unsigned priv/host-generic/reg_alloc2.c:1040: warning: comparison between signed and unsigned priv/host-generic/reg_alloc2.c:1041: warning: comparison between signed and unsigned priv/host-generic/reg_alloc2.c:1065: warning: comparison between signed and unsigned Making all in tests Making all in . Making all in amd64 Making all in docs Making all in cachegrind Making all in . Making all in tests Making all in . Making all in amd64 Making all in docs Making all in callgrind Making all in . main.c: In function ‘vgCallgrind_instrument’: main.c:676: warning: comparison between signed and unsigned main.c:676: warning: comparison between signed and unsigned main.c:688: warning: comparison between signed and unsigned bb.c: In function ‘vgCallgrind_init_bb_hash’: bb.c:46: warning: comparison between signed and unsigned bb.c: In function ‘resize_bb_table’: bb.c:80: warning: comparison between signed and unsigned bb.c: In function ‘obj_of_address’: bb.c:215: warning: comparison between signed and unsigned bb.c:215: warning: comparison between signed and unsigned bbcc.c: In function ‘vgCallgrind_init_bbcc_hash’: bbcc.c:53: warning: comparison between signed and unsigned bbcc.c: In function ‘vgCallgrind_zero_bbcc’: bbcc.c:98: warning: comparison between signed and unsigned bbcc.c:100: warning: comparison between signed and unsigned bbcc.c: In function ‘vgCallgrind_forall_bbccs’: bbcc.c:116: warning: comparison between signed and unsigned bbcc.c: In function ‘resize_bbcc_hash’: bbcc.c:207: warning: comparison between signed and unsigned bbcc.c: In function ‘new_bbcc’: bbcc.c:282: warning: comparison between signed and unsigned bbcc.c:284: warning: comparison between signed and unsigned bbcc.c: In function ‘mangled_cxt’: bbcc.c:348: warning: comparison between signed and unsigned bbcc.c: In function ‘vgCallgrind_setup_bbcc’: bbcc.c:582: warning: comparison between signed and unsigned bbcc.c:815: warning: comparison between signed and unsigned debug.c: In function ‘print_mangled_cxt’: debug.c:68: warning: comparison between signed and unsigned debug.c: In function ‘vgCallgrind_print_bbcc_cost’: debug.c:343: warning: comparison between signed and unsigned debug.c:350: warning: comparison between signed and unsigned debug.c:358: warning: comparison between signed and unsigned debug.c:359: warning: comparison between signed and unsigned fn.c: In function ‘new_fn_node’: fn.c:314: warning: comparison between signed and unsigned fn.c: In function ‘vgCallgrind_get_fn_entry’: fn.c:560: warning: comparison between signed and unsigned fn.c:560: warning: comparison between signed and unsigned fn.c: In function ‘vgCallgrind_init_fn_array’: fn.c:571: warning: comparison between signed and unsigned fn.c:575: warning: comparison between signed and unsigned fn.c: In function ‘vgCallgrind_set_current_fn_array’: fn.c:598: warning: comparison between signed and unsigned fn.c: In function ‘resize_fn_array’: fn.c:618: warning: comparison between signed and unsigned callstack.c: In function ‘vgCallgrind_init_call_stack’: callstack.c:59: warning: comparison between signed and unsigned callstack.c: In function ‘ensure_stack_size’: callstack.c:93: warning: comparison between signed and unsigned callstack.c:97: warning: comparison between signed and unsigned callstack.c:102: warning: comparison between signed and unsigned callstack.c: In function ‘vgCallgrind_push_call_stack’: callstack.c:248: warning: comparison between signed and unsigned callstack.c:248: warning: comparison between signed and unsigned context.c: In function ‘vgCallgrind_init_cxt_table’: context.c:79: warning: comparison between signed and unsigned context.c: In function ‘new_cxt’: context.c:204: warning: comparison between signed and unsigned context.c:206: warning: comparison between signed and unsigned context.c: In function ‘vgCallgrind_push_cxt’: context.c:282: warning: signed and unsigned type in conditional expression context.c:288: warning: comparison between signed and unsigned context.c:288: warning: comparison between signed and unsigned context.c:299: warning: comparison between signed and unsigned context.c:303: warning: comparison between signed and unsigned context.c:329: warning: signed and unsigned type in conditional expression dump.c: In function ‘print_mangled_fn’: dump.c:292: warning: comparison between signed and unsigned dump.c:320: warning: comparison between signed and unsigned dump.c: In function ‘print_fn_pos’: dump.c:344: warning: comparison between signed and unsigned dump.c:398: warning: comparison between signed and unsigned dump.c: In function ‘fprint_bbcc’: dump.c:799: warning: comparison between signed and unsigned dump.c:831: warning: comparison between signed and unsigned dump.c:854: warning: comparison between signed and unsigned dump.c:855: warning: comparison between signed and unsigned dump.c:898: warning: comparison between signed and unsigned dump.c:898: warning: comparison between signed and unsigned dump.c:922: warning: comparison between signed and unsigned dump.c: In function ‘my_cmp’: dump.c:960: warning: comparison between signed and unsigned dump.c:960: warning: comparison between signed and unsigned dump.c: In function ‘print_bbccs_of_thread’: dump.c:1520: warning: comparison between signed and unsigned dump.c:1553: warning: comparison between signed and unsigned jumps.c: In function ‘vgCallgrind_init_jcc_hash’: jumps.c:52: warning: comparison between signed and unsigned jumps.c: In function ‘resize_jcc_table’: jumps.c:99: warning: comparison between signed and unsigned Making all in tests Making all in . Making all in docs Making all in massif Making all in . ms_main.c: In function ‘ms_process_cmd_line_option’: ms_main.c:380: warning: comparison between signed and unsigned ms_main.c: In function ‘dup_XTree’: ms_main.c:644: warning: comparison between signed and unsigned ms_main.c:669: warning: comparison between signed and unsigned ms_main.c: In function ‘free_SXTree’: ms_main.c:705: warning: comparison between signed and unsigned ms_main.c: In function ‘sanity_check_SXTree’: ms_main.c:754: warning: comparison between signed and unsigned ms_main.c: In function ‘get_IPs’: ms_main.c:820: warning: comparison between signed and unsigned ms_main.c:846: warning: comparison between signed and unsigned ms_main.c: In function ‘get_XCon’: ms_main.c:877: warning: comparison between signed and unsigned ms_main.c: In function ‘update_XCon’: ms_main.c:944: warning: comparison between signed and unsigned ms_main.c:948: warning: comparison between signed and unsigned ms_main.c: In function ‘sanity_check_snapshots_array’: ms_main.c:1031: warning: comparison between signed and unsigned ms_main.c:1034: warning: comparison between signed and unsigned ms_main.c: In function ‘cull_snapshots’: ms_main.c:1119: warning: comparison between signed and unsigned ms_main.c:1130: warning: comparison between signed and unsigned ms_main.c:1131: warning: comparison between signed and unsigned ms_main.c:1134: warning: comparison between signed and unsigned ms_main.c:1145: warning: comparison between signed and unsigned ms_main.c:1165: warning: comparison between signed and unsigned ms_main.c:1194: warning: comparison between signed and unsigned ms_main.c:1214: warning: comparison between signed and unsigned ms_main.c: In function ‘maybe_take_snapshot’: ms_main.c:1320: warning: comparison between signed and unsigned ms_main.c:1366: warning: comparison between signed and unsigned ms_main.c: In function ‘update_heap_stats’: ms_main.c:1444: warning: comparison between signed and unsigned ms_main.c:1446: warning: comparison between signed and unsigned ms_main.c: In function ‘update_stack_stats’: ms_main.c:1694: warning: comparison between signed and unsigned ms_main.c: In function ‘pp_snapshot_SXPt’: ms_main.c:1965: warning: comparison between signed and unsigned ms_main.c: In function ‘write_snapshots_to_file’: ms_main.c:2078: warning: comparison between signed and unsigned ms_main.c: In function ‘ms_post_clo_init’: ms_main.c:2175: warning: comparison between signed and unsigned Making all in tests Making all in docs Making all in perf Making all in lackey Making all in . Making all in tests Making all in docs Making all in none Making all in . Making all in tests Making all in . Making all in amd64 Making all in docs Making all in helgrind Making all in . hg_main.c: In function ‘stepSecMapIter’: hg_main.c:478: warning: comparison between signed and unsigned hg_main.c: In function ‘locks__sanity_check’: hg_main.c:2565: warning: comparison between signed and unsigned hg_main.c: In function ‘segments__sanity_check’: hg_main.c:2641: warning: comparison between signed and unsigned hg_main.c: In function ‘shmem__sanity_check’: hg_main.c:2691: warning: comparison between signed and unsigned hg_main.c:2765: warning: comparison between signed and unsigned hg_main.c: In function ‘sequentialise_CacheLine’: hg_main.c:3837: warning: comparison between signed and unsigned hg_main.c: In function ‘evhH__pre_thread_releases_lock’: hg_main.c:5345: warning: comparison between signed and unsigned hg_main.c: In function ‘get_sorted_thread_set’: hg_main.c:8101: warning: comparison between signed and unsigned Making all in tests Making all in docs Making all in exp-omega Making all in . o_main.c: In function ‘o_reportCircularBlocks’: o_main.c:3282: warning: comparison between signed and unsigned o_main.c: In function ‘o_process_cmd_line_option’: o_main.c:3458: warning: comparison between signed and unsigned o_main.c:3461: warning: comparison between signed and unsigned o_main.c:3464: warning: comparison between signed and unsigned Making all in tests Making all in docs Making all in exp-drd Making all in . drd_barrier.c: In function ‘barrier_get_or_allocate’: drd_barrier.c:140: warning: comparison between signed and unsigned drd_barrier.c:148: warning: comparison between signed and unsigned drd_barrier.c: In function ‘barrier_get’: drd_barrier.c:171: warning: comparison between signed and unsigned drd_barrier.c: In function ‘barrier_thread_delete’: drd_barrier.c:257: warning: comparison between signed and unsigned drd_cond.c: In function ‘cond_get_or_allocate’: drd_cond.c:63: warning: comparison between signed and unsigned drd_cond.c:71: warning: comparison between signed and unsigned drd_cond.c: In function ‘cond_get’: drd_cond.c:121: warning: comparison between signed and unsigned drd_mutex.c: In function ‘mutex_get_or_allocate’: drd_mutex.c:100: warning: comparison between signed and unsigned drd_mutex.c:109: warning: comparison between signed and unsigned drd_mutex.c: In function ‘mutex_get’: drd_mutex.c:208: warning: comparison between signed and unsigned drd_mutex.c: In function ‘mutex_thread_delete’: drd_mutex.c:396: warning: comparison between signed and unsigned drd_semaphore.c: In function ‘semaphore_get_or_allocate’: drd_semaphore.c:84: warning: comparison between signed and unsigned drd_semaphore.c:92: warning: comparison between signed and unsigned drd_semaphore.c: In function ‘semaphore_get’: drd_semaphore.c:127: warning: comparison between signed and unsigned drd_thread.c: In function ‘thread_compute_minimum_vc’: drd_thread.c:539: warning: comparison between signed and unsigned drd_thread.c: In function ‘thread_compute_maximum_vc’: drd_thread.c:563: warning: comparison between signed and unsigned drd_thread.c: In function ‘thread_discard_ordered_segments’: drd_thread.c:613: warning: comparison between signed and unsigned Making all in tests Making all in . Making all in docs Making all in docs Making all in xml Making all in lib Making all in images Making all in internals ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Valgrind-developers mailing list Valgrind-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-developers