summaryrefslogtreecommitdiffstats
path: root/Source/cmDebugTools.h
blob: 99c0c6ba8359abfe14bd1258158ff0d3cd95c199 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* 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