From 0087ee405e4ca7df6649dca143f452efef256f40 Mon Sep 17 00:00:00 2001 From: scchan Date: Mon, 28 Mar 2016 09:18:38 -0500 Subject: [PATCH 1/3] add inline keyword to all the template functions --- include/hcc_detail/trace_helper.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/hcc_detail/trace_helper.h b/include/hcc_detail/trace_helper.h index 1275016188..35a8b80c0c 100644 --- a/include/hcc_detail/trace_helper.h +++ b/include/hcc_detail/trace_helper.h @@ -16,7 +16,7 @@ LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - +#pragma once #include #include @@ -35,7 +35,7 @@ THE SOFTWARE. // Building block functions: template -std::string ToHexString(T v) +inline std::string ToHexString(T v) { std::ostringstream ss; ss << "0x" << std::hex << v; @@ -47,7 +47,7 @@ std::string ToHexString(T v) // Template overloads for ToString to handle various types: // Note these use C++11 variadic templates template -std::string ToString(T v) { +inline std::string ToString(T v) { std::ostringstream ss; ss << v; return ss.str(); @@ -55,7 +55,7 @@ std::string ToString(T v) { template <> -std::string ToString(hipMemcpyKind v) { +inline std::string ToString(hipMemcpyKind v) { switch(v) { CASE_STR(hipMemcpyHostToHost); CASE_STR(hipMemcpyHostToDevice); @@ -68,13 +68,13 @@ std::string ToString(hipMemcpyKind v) { template <> -std::string ToString(hipError_t v) { +inline std::string ToString(hipError_t v) { return ihipErrorString(v); }; // Catch empty arguments case -std::string ToString() { +inline std::string ToString() { return (""); } @@ -83,6 +83,6 @@ std::string ToString() { // C++11 variadic template - peels off first argument, converts to string, and calls itself again to peel the next arg. // Strings are automatically separated by comma+space. template -std::string ToString(T first, Args... args) { +inline std::string ToString(T first, Args... args) { return ToString(first) + ", " + ToString(args...) ; } From 00ae9531a7b43e0825e46119f1b2b86b085e00b5 Mon Sep 17 00:00:00 2001 From: scchan Date: Mon, 28 Mar 2016 12:56:15 -0500 Subject: [PATCH 2/3] turn off ONE_OBJECT_FILE since we are building a static library --- include/hcc_detail/hip_hcc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/hcc_detail/hip_hcc.h b/include/hcc_detail/hip_hcc.h index 9000602ff1..1784acc67f 100644 --- a/include/hcc_detail/hip_hcc.h +++ b/include/hcc_detail/hip_hcc.h @@ -117,7 +117,7 @@ struct ihipDevice_t; // #include CPP files to produce one object file -#define ONE_OBJECT_FILE 1 +#define ONE_OBJECT_FILE 0 // Compile support for trace markers that are displayed on CodeXL GUI at start/stop of each function boundary. From 2ddb8fface5d245ea7d32e5992f6e52bd74ded1f Mon Sep 17 00:00:00 2001 From: scchan Date: Mon, 28 Mar 2016 13:56:23 -0500 Subject: [PATCH 3/3] remove the --hipcc_explicit_lib --- tests/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/CMakeLists.txt b/tests/src/CMakeLists.txt index acd2060647..5cc280cec7 100644 --- a/tests/src/CMakeLists.txt +++ b/tests/src/CMakeLists.txt @@ -62,7 +62,7 @@ endif() set (HIPCC ${HIP_PATH}/bin/hipcc) set (CMAKE_CXX_COMPILER ${HIPCC}) -set (CMAKE_CXX_FLAGS --hipcc_explicit_lib) +#set (CMAKE_CXX_FLAGS --hipcc_explicit_lib) add_library(test_common OBJECT test_common.cpp )