From 8a463444ab3a39dd3512fe52c4565217a580e1bc Mon Sep 17 00:00:00 2001 From: Martin Date: Mon, 28 Jan 2013 19:59:25 +0100 Subject: [PATCH] Fix negated sc->func->naked for x64 and remove !IN_LLVM block. --- gen/asm-x86.h | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/gen/asm-x86.h b/gen/asm-x86.h index 14350553..520ad608 100644 --- a/gen/asm-x86.h +++ b/gen/asm-x86.h @@ -2471,32 +2471,13 @@ namespace AsmParserx8664 ( operand->baseReg == Reg_ESP && sc->func->naked ) ) ) #else ( ( ( operand->baseReg == Reg_EBP || operand->baseReg == Reg_RBP ) && ! sc->func->naked ) || - ( ( operand->baseReg == Reg_ESP || operand->baseReg == Reg_RSP ) && ! sc->func->naked ) ) ) + ( ( operand->baseReg == Reg_ESP || operand->baseReg == Reg_RSP ) && sc->func->naked ) ) ) #endif { e = new AddrExp ( 0, e ); e->type = decl->type->pointerTo(); -#if !IN_LLVM - /* DMD uses the same frame offsets for naked functions. */ - if ( sc->func->naked ) - operand->constDisplacement += 4; - - if ( operand->constDisplacement ) - { - e = new AddExp ( 0, e, - new IntegerExp ( 0, operand->constDisplacement, -#ifndef ASM_X86_64 - Type::tint32 ) ); -#else - Type::tint64 ) ); -#endif - e->type = decl->type->pointerTo(); - } - e = new PtrExp ( 0, e ); - e->type = decl->type; -#endif operand->constDisplacement = 0; operand->baseReg = Reg_Invalid;