Mercurial > projects > ldc
view gen/logger.h @ 31:2841234d2aea trunk
[svn r35] * Attributes on struct fields/methods now work
* Updated object.d to 1.021
* Added -novalidate command line option. this is sometimes useful when debugging as it may let you read the .ll even if it's invalid.
author | lindquist |
---|---|
date | Thu, 04 Oct 2007 16:44:07 +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