Mercurial > projects > ldc
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); } }