changeset 222:251548c1035d trunk

[svn r238] use *m for memory input constraints and pass in their address
author ChristianK
date Fri, 06 Jun 2008 21:44:17 +0200
parents 68687d8c3e9a
children 5ffca623b5df
files gen/asmstmt.cpp gen/d-asm-i386.h
diffstat 2 files changed, 5 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/gen/asmstmt.cpp	Fri Jun 06 20:51:43 2008 +0200
+++ b/gen/asmstmt.cpp	Fri Jun 06 21:44:17 2008 +0200
@@ -256,7 +256,7 @@
 
     static std::string i_cns = "i";
     static std::string p_cns = "p";
-    static std::string m_cns = "m";
+    static std::string m_cns = "*m";
     static std::string mw_cns = "=*m";
     static std::string mrw_cns = "+m";
     static std::string memory_name = "memory";
--- a/gen/d-asm-i386.h	Fri Jun 06 20:51:43 2008 +0200
+++ b/gen/d-asm-i386.h	Fri Jun 06 21:44:17 2008 +0200
@@ -1913,12 +1913,10 @@
 				insnTemplate->writebyte('*');
 				use_star = false;
 			    }
-                if (mode == Mode_Output)
-                {
-                    e = new AddrExp(0, e);
-                    assert(decl);
-                    e->type = decl->type->pointerTo();
-                }
+			    e = new AddrExp(0, e);
+			    assert(decl);
+			    e->type = decl->type->pointerTo();
+
 			    addOperand(fmt, Arg_Memory, e, asmcode, mode);
 			}
 		    }