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