Mercurial > projects > ldc
diff gen/irstate.h @ 232:092468448d25 trunk
[svn r248] Fixed: labels in inline asm block now work for the normal case.
Fixed: inline asm blocks are now emitted as a single asm entity.
author | lindquist |
---|---|
date | Sun, 08 Jun 2008 06:15:51 +0200 |
parents | 7816aafeea3c |
children | 76ee1bbe487e |
line wrap: on
line diff
--- a/gen/irstate.h Sun Jun 08 01:07:58 2008 +0200 +++ b/gen/irstate.h Sun Jun 08 06:15:51 2008 +0200 @@ -65,6 +65,16 @@ IRExp(Expression* l, Expression* r, DValue* val); }; +struct IRAsmStmt +{ + std::string code; + std::string out_c; + std::string in_c; + std::string clobbers; + std::vector<LLValue*> out; + std::vector<LLValue*> in; +}; + // represents the module struct IRState { @@ -140,6 +150,10 @@ FuncDeclVector ctors; FuncDeclVector dtors; FuncDeclVector unitTests; + + // for inline asm + std::vector<IRAsmStmt*> ASMs; + bool inASM; }; #endif // LLVMDC_GEN_IRSTATE_H