From d7526157ab8f9d0fc40cb9f8744aa455b2a24df3 Mon Sep 17 00:00:00 2001 From: David Nadlinger Date: Tue, 11 Jun 2013 23:20:10 +0200 Subject: [PATCH] Expression::optimize everything to resolve manifest constants in inline asm. --- gen/asm-x86.h | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gen/asm-x86.h b/gen/asm-x86.h index 847d04f9..0d2384e9 100644 --- a/gen/asm-x86.h +++ b/gen/asm-x86.h @@ -2586,15 +2586,7 @@ namespace AsmParserx8664 bool isIntExp ( Expression * exp ) { - if ( exp->op == TOKint64 ) - return 1; - if ( exp->op == TOKvar ) - { - Declaration * v = ( ( VarExp * ) exp )->var; - if ( v->isConst() && v->type->isintegral() ) - return 1; - } - return 0; + return exp->op == TOKint64; } bool isRegExp ( Expression * exp ) { return exp->op == TOKmod; } // ewww.%% bool isLocalSize ( Expression * exp ) @@ -3220,6 +3212,7 @@ namespace AsmParserx8664 } e = e->semantic ( sc ); + e = e->optimize (WANTvalue); // Special case for floating point constant declarations. if ( e->op == TOKfloat64 )