Mercurial > projects > ldc
comparison gen/d-asm-i386.h @ 384:3f98d46e05a4
Fixed segfault when using va_arg.
Fixed segfault when accessing function symbols from inline asm.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 23 Jul 2008 20:21:18 +0200 |
parents | 0baca2feb554 |
children | e04389bafb3e |
comparison
equal
deleted
inserted
replaced
383:c028fd91b3b0 | 384:3f98d46e05a4 |
---|---|
2034 stmt->error("too many registers memory operand"); | 2034 stmt->error("too many registers memory operand"); |
2035 } | 2035 } |
2036 } | 2036 } |
2037 } else if (exp->op == TOKvar) { | 2037 } else if (exp->op == TOKvar) { |
2038 VarDeclaration * v = ((VarExp *) exp)->var->isVarDeclaration(); | 2038 VarDeclaration * v = ((VarExp *) exp)->var->isVarDeclaration(); |
2039 v->needsStorage = true; | 2039 if (v) { |
2040 v->needsStorage = true; | |
2041 } | |
2040 | 2042 |
2041 if (v && v->storage_class & STCfield) { | 2043 if (v && v->storage_class & STCfield) { |
2042 operand->constDisplacement += v->offset; | 2044 operand->constDisplacement += v->offset; |
2043 if (! operand->inBracket) | 2045 if (! operand->inBracket) |
2044 operand->hasNumber = 1; | 2046 operand->hasNumber = 1; |