##// END OF EJS Templates
node: manually implement Debug...
node: manually implement Debug I got too irritated today with the default Debug implementation of hg::revlog::Node while playing with a new parser. This isn't quite what I wanted, but it wasn't much code and it at least gives you output that's easy to visually compare to a node.hex()ed identifier from the Python side of things. Sadly, this doesn't influence the output in lldb or the VSCode debugger extension that uses lldb under the covers, but it at least means debug prints are a little more useful. Differential Revision: https://phab.mercurial-scm.org/D12608

File last commit:

r44013:6f5c352f default
r50070:34decbaf default
Show More
fuzzutil.h
37 lines | 1002 B | text/x-c | CLexer
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 #ifndef CONTRIB_FUZZ_FUZZUTIL_H
#define CONTRIB_FUZZ_FUZZUTIL_H
#include <iostream>
#include <memory>
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 #include <stdint.h>
/* Try and use std::optional, but failing that assume we'll have a
* workable https://abseil.io/ install on the include path to get
* their backport of std::optional. */
#ifdef __has_include
#if __has_include(<optional>) && __cplusplus >= 201703L
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 #include <optional>
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 #define CONTRIB_FUZZ_HAVE_STD_OPTIONAL
#endif
#endif
#ifdef CONTRIB_FUZZ_HAVE_STD_OPTIONAL
namespace contrib
{
using std::nullopt;
using std::optional;
} /* namespace contrib */
#else
#include "third_party/absl/types/optional.h"
namespace contrib
{
using absl::nullopt;
using absl::optional;
} /* namespace contrib */
#endif
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191
/* set DEBUG to 1 for a few debugging prints, or 2 for a lot */
#define DEBUG 0
#define LOG(level) \
if (level <= DEBUG) \
std::cout
#endif /* CONTRIB_FUZZ_FUZZUTIL_H */