Mercurial > projects > ldc
view gen/logger.c @ 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 | e116aa1488e6 |
children | 27b2f40bdb58 |
line wrap: on
line source
#ifndef LLVMD_NO_LOGGER #include <cassert> #include <cstdarg> #include <cstdio> #include <cstdlib> #include <iostream> #include <string> #include "gen/logger.h" namespace Logger { static std::string indent_str; void indent() { indent_str += " "; } void undent() { assert(!indent_str.empty()); indent_str.resize(indent_str.size()-2); } std::ostream& cout() { return std::cout << indent_str; } void println(const char* fmt,...) { printf(indent_str.c_str()); va_list va; va_start(va,fmt); vprintf(fmt,va); va_end(va); printf("\n"); } void print(const char* fmt,...) { printf(indent_str.c_str()); va_list va; va_start(va,fmt); vprintf(fmt,va); va_end(va); } } #endif