| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| file Copyright.txt or https://cmake.org/licensing for details. */ | |
| #pragma once | |
| #include <iostream> | |
| #define CM_DBG(expr) cm::dbg_impl(__FILE__, __LINE__, #expr, expr) | |
| namespace cm { | |
| namespace { | |
| template <typename T> | |
| T dbg_impl(const char* fname, int line, const char* expr, T value) | |
| { | |
| std::cerr << fname << ':' << line << ": " << expr << " = " << value | |
| << std::endl; | |
| return value; | |
| } | |
| } // namespace | |
| } // namespace cm |