Mercurial > projects > ldc
comparison gen/d-asm-i386.h @ 306:0baca2feb554 trunk
[svn r327] Fixed some more MinGW32 issues. It's now very close to working.
Fixed problems with inline asm like: mov EAX, FS:4 , which incidentally is used in the runtime to get the stack bottom, on Windows.
author | lindquist |
---|---|
date | Fri, 27 Jun 2008 23:58:22 +0200 |
parents | 2b72433d5c8c |
children | 3f98d46e05a4 |
comparison
equal
deleted
inserted
replaced
305:2b72433d5c8c | 306:0baca2feb554 |
---|---|
1927 if (use_star) | 1927 if (use_star) |
1928 insnTemplate->writebyte('*'); | 1928 insnTemplate->writebyte('*'); |
1929 if (operand->constDisplacement) { | 1929 if (operand->constDisplacement) { |
1930 if (operand->symbolDisplacement.dim) | 1930 if (operand->symbolDisplacement.dim) |
1931 insnTemplate->writebyte('+'); | 1931 insnTemplate->writebyte('+'); |
1932 addOperand2("${",":a}", Arg_Integer, newIntExp(operand->constDisplacement), asmcode); | 1932 addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode); |
1933 if (opInfo->operands[i] & Opr_Dest) | 1933 if (opInfo->operands[i] & Opr_Dest) |
1934 asmcode->clobbersMemory = 1; | 1934 asmcode->clobbersMemory = 1; |
1935 } | 1935 } |
1936 if (operand->baseReg != Reg_Invalid || operand->indexReg != Reg_Invalid) { | 1936 if (operand->baseReg != Reg_Invalid || operand->indexReg != Reg_Invalid) { |
1937 insnTemplate->writebyte('('); | 1937 insnTemplate->writebyte('('); |