Mercurial > projects > ldc
view gen/logger.h @ 1053:11e28922ac76
Always pass an address expression (not a var expression) to asm operands of
type Arg_Memory.
This fixes the following code:
{{{
void f(real x) { asm { fld x[RBP]; } }
void g(int x) { asm { mov EAX, x[RBP]; } }
}}}
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 08 Mar 2009 00:57:58 +0100 |
parents | 18ad5601dff7 |
children | e7f0c2b48047 |
line wrap: on
line source
#ifndef _llvmd_gen_logger_h_ #define _llvmd_gen_logger_h_ #include "llvm/Support/Streams.h" struct Loc; namespace Logger { void indent(); void undent(); llvm::OStream cout(); void println(const char* fmt, ...); void print(const char* fmt, ...); void enable(); void disable(); bool enabled(); void attention(const Loc& loc, const char* fmt, ...); struct LoggerScope { LoggerScope() { Logger::indent(); } ~LoggerScope() { Logger::undent(); } }; } #define LOG_SCOPE Logger::LoggerScope _logscope; #endif