diff options
Diffstat (limited to 'src/base/trace.hh')
-rw-r--r-- | src/base/trace.hh | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/base/trace.hh b/src/base/trace.hh index eb0ab9dae..3e6e37bd3 100644 --- a/src/base/trace.hh +++ b/src/base/trace.hh @@ -1,4 +1,16 @@ /* + * Copyright (c) 2014 ARM Limited + * All rights reserved + * + * The license below extends only to copyright in the software and shall + * not be construed as granting a license to any other intellectual + * property including but not limited to intellectual property relating + * to a hardware implementation of the functionality of the software + * licensed hereunder. You may use the software subject to the license + * terms below provided that you ensure that this notice is replicated + * unmodified and in its entirety in all distributions of the software, + * modified or unmodified, in source code or in binary form. + * * Copyright (c) 2001-2006 The Regents of The University of Michigan * All rights reserved. * @@ -55,8 +67,20 @@ void dumpStatus(); extern ObjectMatch ignore; extern const std::string DefaultName; -void dprintf(Tick when, const std::string &name, const char *format, - CPRINTF_DECLARATION); +bool __dprintf_prologue(Tick when, const std::string &name); + +template<typename ...Args> void +dprintf(Tick when, const std::string &name, const char *format, + const Args &...args) +{ + if (!__dprintf_prologue(when, name)) + return; + + std::ostream &os(output()); + ccprintf(os, format, args...); + os.flush(); +} + void dump(Tick when, const std::string &name, const void *data, int len); } // namespace Trace |