diff --git a/projects/roctracer/script/gen_ostream_ops.py b/projects/roctracer/script/gen_ostream_ops.py index c59d2a2117..e6570bebd4 100755 --- a/projects/roctracer/script/gen_ostream_ops.py +++ b/projects/roctracer/script/gen_ostream_ops.py @@ -85,23 +85,23 @@ header = \ header_hip = \ 'template \n' + \ -' std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ +' inline static std::ostream& operator<<(std::ostream& out, const T& v) {\n' + \ ' using std::operator<<;\n' + \ ' static bool recursion = false;\n' + \ ' if (recursion == false) { recursion = true; out << v; recursion = false; }\n' + \ ' return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, const void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, bool v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint8_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint16_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint32_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint64_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, bool* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint8_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint16_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint32_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ -'std::ostream& operator<<(std::ostream& out, uint64_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, const void* v) { using std::operator<<; out << std::hex << v; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, bool v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint8_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint16_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint32_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint64_t v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, bool* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint8_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint16_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint32_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ +'inline static std::ostream& operator<<(std::ostream& out, uint64_t* v) { using std::operator<<; out << std::hex << ""; return out; }\n' + \ '\n' structs_analyzed = {} @@ -217,9 +217,9 @@ def gen_cppheader(infilepath, outfilepath): continue if len(cppHeader.classes[c]["properties"]["public"])!=0: if apiname.lower() == 'hip': - f.write("std::ostream& operator<<(std::ostream& out, " + c + "& v)\n") + f.write("inline static std::ostream& operator<<(std::ostream& out, " + c + "& v)\n") f.write("{\n") - global_ops_hip = global_ops_hip + "std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" + global_ops_hip = global_ops_hip + "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::hip_support::operator<<(out, v);\n" + " return out;\n" + "}\n\n" process_struct(f, c, cppHeader, "", apiname) f.write(" return out;\n") f.write("}\n")