From d572e0616eebb3e1e455333158b71ac1f1e4a7dc Mon Sep 17 00:00:00 2001 From: Ben Sander Date: Mon, 6 Mar 2017 16:38:22 -0600 Subject: [PATCH] Modify memcpy and memset to follow C/C++ standard: - memcpy src is const - memset val is int --- include/hip/hcc_detail/hip_runtime.h | 9 +++++---- src/device_util.cpp | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index 98c3ada969..67c63103d3 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -353,7 +353,7 @@ __device__ int __hip_move_dpp(int src, int dpp_ctrl, int row_mask, int bank_mask #define hipGridDim_y (hc_get_num_groups(1)) #define hipGridDim_z (hc_get_num_groups(2)) -extern "C" __device__ void* __hip_hc_memcpy(void* dst, void* src, size_t size); +extern "C" __device__ void* __hip_hc_memcpy(void* dst, const void* src, size_t size); extern "C" __device__ void* __hip_hc_memset(void* ptr, uint8_t val, size_t size); extern "C" __device__ void* __hip_hc_malloc(size_t); extern "C" __device__ void* __hip_hc_free(void *ptr); @@ -368,14 +368,15 @@ static inline __device__ void* free(void *ptr) return __hip_hc_free(ptr); } -static inline __device__ void* memcpy(void* dst, void* src, size_t size) +static inline __device__ void* memcpy(void* dst, const void* src, size_t size) { return __hip_hc_memcpy(dst, src, size); } -static inline __device__ void* memset(void* ptr, uint8_t val, size_t size) +static inline __device__ void* memset(void* ptr, int val, size_t size) { - return __hip_hc_memset(ptr, val, size); + uint8_t val8 = static_cast (val); + return __hip_hc_memset(ptr, val8, size); } diff --git a/src/device_util.cpp b/src/device_util.cpp index fb207e3996..4b0e7efefd 100644 --- a/src/device_util.cpp +++ b/src/device_util.cpp @@ -99,7 +99,7 @@ __device__ void* __hip_hc_free(void *ptr) // loop unrolling -__device__ void* __hip_hc_memcpy(void* dst, void* src, size_t size) +__device__ void* __hip_hc_memcpy(void* dst, const void* src, size_t size) { uint8_t *dstPtr, *srcPtr; dstPtr = (uint8_t*)dst;