From 1a59e3657e74326b59c9e71e712e6f1fd3ee1898 Mon Sep 17 00:00:00 2001 From: Yifan Zhao <yifanz16@illinois.edu> Date: Thu, 23 Jan 2020 19:42:35 -0600 Subject: [PATCH] Use struct for catching output in pipeline --- hpvm/test/pipeline/src/main.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hpvm/test/pipeline/src/main.cc b/hpvm/test/pipeline/src/main.cc index ef9d8412c7..2a69a75037 100644 --- a/hpvm/test/pipeline/src/main.cc +++ b/hpvm/test/pipeline/src/main.cc @@ -66,6 +66,10 @@ std::string output_window = "GPU Pipeline - Edge Mapping"; extern "C" { +struct __attribute__((__packed__)) OutStruct { + size_t ret; +}; + struct __attribute__((__packed__)) InStruct { float *I; size_t bytesI; @@ -869,8 +873,8 @@ int main(int argc, char *argv[]) { __hpvm__push(DFG, args); void *ret = __hpvm__pop(DFG); - std::cout << "Returned size: " << *(size_t *)ret << " expected " << I_sz - << '\n'; + std::cout << "Returned size: " << ((OutStruct *)ret)->ret + << " expected " << I_sz << '\n'; llvm_hpvm_request_mem(maxG, bytesMaxG); llvm_hpvm_request_mem(E.data, I_sz); -- GitLab