Mercurial > projects > ldc
view gen/logger.c @ 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 | 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