Mercurial > projects > ldc
view gen/logger.h @ 6:35d93ce68cf4 trunk
[svn r10] Updated for LLVM rev. 20070913
Applied fixes from wilsonk on the forum
Some tweaks to work with gc 7.0
Fixed aggregate members of aggregates
Fixed cyclic/recursive class declarations
Other minor tweaks
author | lindquist |
---|---|
date | Wed, 26 Sep 2007 19:05:18 +0200 |
parents | c53b6e3fe49a |
children | 27b2f40bdb58 |
line wrap: on
line source
#ifndef _llvmd_gen_logger_h_ #define _llvmd_gen_logger_h_ #include <iostream> namespace Logger { #ifndef LLVMD_NO_LOGGER void indent(); void undent(); std::ostream& cout(); void println(const char* fmt,...); void print(const char* fmt,...); #else inline void indent() {} inline void undent() {} inline std::ostream& cout() { return std::cout; } inline void println(const char* fmt, ...) {} inline void print(const char* fmt, ...) {} #endif struct LoggerScope { LoggerScope() { #ifndef LLVMD_NO_LOGGER //std::cout << "-->indented\n"; Logger::indent(); #endif } ~LoggerScope() { #ifndef LLVMD_NO_LOGGER //std::cout << "<--undented\n"; Logger::undent(); #endif } }; } #ifndef LLVMD_NO_LOGGER #define LOG_SCOPE Logger::LoggerScope _logscope; #else #define LOG_SCOPE #endif #endif