From ee75f0d099ec7f6aa8a87142f238696bae192280 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 16 Jul 2024 09:09:25 +0000 Subject: [PATCH] Simple dbg mode to print error-warrnings etc logs --- include/ck/utility/dbg.hpp | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 include/ck/utility/dbg.hpp diff --git a/include/ck/utility/dbg.hpp b/include/ck/utility/dbg.hpp new file mode 100644 index 0000000000..fba21017a4 --- /dev/null +++ b/include/ck/utility/dbg.hpp @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#pragma once + +#include "ck/ck.hpp" + +namespace ck { +namespace dbg { + +template void _dbg(const char *sdbg, TH h) { + std::cerr << sdbg << "=" << h << "\n"; +} +template +void _dbg(const char *sdbg, TH h, TA... t) { + while (*sdbg != ',') { + std::cerr << *sdbg++; + } + std::cerr << "=" << h << ","; + _dbg(sdbg + 1, t...); +} +#ifdef LOCAL +#define debug(...) _dbg(#__VA_ARGS__, __VA_ARGS__) +#define debugv(x) \ + { \ + { \ + std::cerr << #x << " = "; \ + FORE(itt, (x)) std::cerr << *itt << ", "; \ + std::cerr << "\n"; \ + } \ + } +#else +#define debug(...) (__VA_ARGS__) +#define debugv(x) +#define std ::cerr if (0) cout +#endif + +} // namespace dbg +} // namespace ck +