Mercurial > projects > ldc
comparison gen/d-asm-i386.h @ 468:45a67b6f1310
Removed the 'needsstorage' thing from Dsymbol. Arguments are not always given storage when applicable. This is not longer treat specially
in this regard. Code for accessing nested variables and contexts rewritten. Probably more. Fairly well tested.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 04 Aug 2008 02:59:34 +0200 |
parents | cc40db549aea |
children | dc8b8b7ea0c1 |
comparison
equal
deleted
inserted
replaced
467:261b05cf4d1c | 468:45a67b6f1310 |
---|---|
2035 stmt->error("too many registers memory operand"); | 2035 stmt->error("too many registers memory operand"); |
2036 } | 2036 } |
2037 } | 2037 } |
2038 } else if (exp->op == TOKvar) { | 2038 } else if (exp->op == TOKvar) { |
2039 VarDeclaration * v = ((VarExp *) exp)->var->isVarDeclaration(); | 2039 VarDeclaration * v = ((VarExp *) exp)->var->isVarDeclaration(); |
2040 if (v) { | |
2041 v->needsStorage = true; | |
2042 } | |
2043 | 2040 |
2044 if (v && v->storage_class & STCfield) { | 2041 if (v && v->storage_class & STCfield) { |
2045 operand->constDisplacement += v->offset; | 2042 operand->constDisplacement += v->offset; |
2046 if (! operand->inBracket) | 2043 if (! operand->inBracket) |
2047 operand->hasNumber = 1; | 2044 operand->hasNumber = 1; |