__inline__ Bool IsValidDrdThreadId(const DrdThreadId tid)
{
- return (0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID
+ return (0 <= (int)tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID
&& ! (s_threadinfo[tid].vg_thread_exists == False
&& s_threadinfo[tid].posix_thread_exists == False
&& s_threadinfo[tid].detached_posix_thread == False));
ThreadId DrdThreadIdToVgThreadId(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
return (s_threadinfo[tid].vg_thread_exists
? s_threadinfo[tid].vg_threadid
: VG_INVALID_THREADID);
tl_assert(VgThreadIdToDrdThreadId(vg_created) == DRD_INVALID_THREADID);
created = VgThreadIdToNewDrdThreadId(vg_created);
- tl_assert(0 <= created && created < DRD_N_THREADS
+ tl_assert(0 <= (int)created && created < DRD_N_THREADS
&& created != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[created].first == 0);
{
const DrdThreadId created = VgThreadIdToDrdThreadId(vg_created);
- tl_assert(0 <= created && created < DRD_N_THREADS
+ tl_assert(0 <= (int)created && created < DRD_N_THREADS
&& created != DRD_INVALID_THREADID);
s_threadinfo[created].stack_max = VG_(thread_get_stack_max)(vg_created);
/* ignored. */
void thread_set_stack_startup(const DrdThreadId tid, const Addr stack_startup)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[tid].stack_min <= stack_startup);
tl_assert(stack_startup <= s_threadinfo[tid].stack_max);
s_threadinfo[tid].stack_startup = stack_startup;
Addr thread_get_stack_min(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
return s_threadinfo[tid].stack_min;
}
Addr thread_get_stack_min_min(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
return s_threadinfo[tid].stack_min_min;
}
Addr thread_get_stack_max(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
return s_threadinfo[tid].stack_max;
}
SizeT thread_get_stack_size(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
return s_threadinfo[tid].stack_size;
}
Segment* sg;
Segment* sg_prev;
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[tid].synchr_nesting == 0);
for (sg = s_threadinfo[tid].last; sg; sg = sg_prev)
/* joinable threads, not for detached threads. */
void thread_finished(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
s_threadinfo[tid].vg_thread_exists = False;
void thread_set_pthreadid(const DrdThreadId tid, const PThreadId ptid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[tid].pt_threadid == INVALID_POSIX_THREADID);
tl_assert(ptid != INVALID_POSIX_THREADID);
Bool thread_get_joinable(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
return ! s_threadinfo[tid].detached_posix_thread;
}
void thread_set_joinable(const DrdThreadId tid, const Bool joinable)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
tl_assert(!! joinable == joinable);
tl_assert(s_threadinfo[tid].pt_threadid != INVALID_POSIX_THREADID);
/** Append a new segment at the end of the segment list. */
static void thread_append_segment(const DrdThreadId tid, Segment* const sg)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
// tl_assert(sane_ThreadInfo(&s_threadinfo[tid]));
sg->prev = s_threadinfo[tid].last;
*/
static void thread_discard_segment(const DrdThreadId tid, Segment* const sg)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
//tl_assert(sane_ThreadInfo(&s_threadinfo[tid]));
VectorClock* thread_get_vc(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[tid].last);
return &s_threadinfo[tid].last->vc;
}
void thread_get_latest_segment(Segment** sg, const DrdThreadId tid)
{
tl_assert(sg);
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[tid].last);
sg_put(*sg);
{
Segment* new_sg;
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
new_sg = sg_new(tid, tid);
thread_append_segment(tid, new_sg);
void thread_combine_vc(DrdThreadId joiner, DrdThreadId joinee)
{
tl_assert(joiner != joinee);
- tl_assert(0 <= joiner && joiner < DRD_N_THREADS
+ tl_assert(0 <= (int)joiner && joiner < DRD_N_THREADS
&& joiner != DRD_INVALID_THREADID);
- tl_assert(0 <= joinee && joinee < DRD_N_THREADS
+ tl_assert(0 <= (int)joinee && joinee < DRD_N_THREADS
&& joinee != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[joiner].last);
tl_assert(s_threadinfo[joinee].last);
*/
void thread_combine_vc2(DrdThreadId tid, const VectorClock* const vc)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[tid].last);
tl_assert(vc);
vc_combine(&s_threadinfo[tid].last->vc, vc);
void thread_start_recording(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
tl_assert(! s_threadinfo[tid].is_recording);
s_threadinfo[tid].is_recording = True;
}
void thread_stop_recording(const DrdThreadId tid)
{
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
tl_assert(s_threadinfo[tid].is_recording);
s_threadinfo[tid].is_recording = False;
}
{
unsigned i;
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
tl_assert(p);
{
Segment* p;
- tl_assert(0 <= tid && tid < DRD_N_THREADS
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
for (p = s_threadinfo[tid].first; p; p = p->next)
{
Segment* p;
- tl_assert(0 <= tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID);
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
tl_assert(tid == s_drd_running_tid);
s_update_danger_set_count++;