diff options
Diffstat (limited to 'libhsail-rt/rt/segment.c')
-rw-r--r-- | libhsail-rt/rt/segment.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libhsail-rt/rt/segment.c b/libhsail-rt/rt/segment.c index 5a95a99c26c..f9b2e0dac83 100644 --- a/libhsail-rt/rt/segment.c +++ b/libhsail-rt/rt/segment.c @@ -32,9 +32,10 @@ __hsail_segmentp_private (uint64_t flat_addr, PHSAWorkItem *wi) if (flat_addr == 0) return 1; else - return (void *) flat_addr >= wi->wg->private_base_ptr - && (void *) flat_addr - < wi->wg->private_base_ptr + wi->wg->private_segment_total_size; + return ((void *) (uintptr_t) flat_addr >= wi->wg->private_base_ptr + && ((void *) (uintptr_t) flat_addr + < (wi->wg->private_base_ptr + + wi->wg->private_segment_total_size))); } uint32_t @@ -43,9 +44,10 @@ __hsail_segmentp_group (uint64_t flat_addr, PHSAWorkItem *wi) if (flat_addr == 0) return 1; else - return (void *) flat_addr >= wi->wg->group_base_ptr - && (void *) flat_addr < wi->wg->group_base_ptr - + wi->launch_data->dp->group_segment_size; + return ((void *) (uintptr_t) flat_addr >= wi->wg->group_base_ptr + && ((void *) (uintptr_t) flat_addr + < (wi->wg->group_base_ptr + + wi->launch_data->dp->group_segment_size))); } uint32_t |